AP: Check driver support while auto-selecting bandwidth for AP/P2P GO am: 44b08ecc8d
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/wpa_supplicant_8/+/13115217 Change-Id: I576eacfe6688c3252dfba4e813812d1c234872c8
This commit is contained in:
@@ -44,6 +44,27 @@ static void wpas_wps_ap_pin_timeout(void *eloop_data, void *user_ctx);
|
||||
#endif /* CONFIG_WPS */
|
||||
|
||||
|
||||
static bool is_chanwidth160_supported(struct hostapd_hw_modes *mode,
|
||||
struct hostapd_config *conf)
|
||||
{
|
||||
#ifdef CONFIG_IEEE80211AX
|
||||
if (conf->ieee80211ax) {
|
||||
struct he_capabilities *he_cap;
|
||||
|
||||
he_cap = &mode->he_capab[IEEE80211_MODE_AP];
|
||||
if (he_cap->phy_cap[HE_PHYCAP_CHANNEL_WIDTH_SET_IDX] &
|
||||
(HE_PHYCAP_CHANNEL_WIDTH_SET_80PLUS80MHZ_IN_5G |
|
||||
HE_PHYCAP_CHANNEL_WIDTH_SET_160MHZ_IN_5G))
|
||||
return true;
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211AX */
|
||||
if (mode->vht_capab & (VHT_CAP_SUPP_CHAN_WIDTH_160MHZ |
|
||||
VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
static void wpas_conf_ap_vht(struct wpa_supplicant *wpa_s,
|
||||
struct wpa_ssid *ssid,
|
||||
struct hostapd_config *conf,
|
||||
@@ -98,7 +119,7 @@ static void wpas_conf_ap_vht(struct wpa_supplicant *wpa_s,
|
||||
*/
|
||||
conf->vht_oper_chwidth = CHANWIDTH_160MHZ;
|
||||
center_chan = wpas_p2p_get_vht160_center(wpa_s, mode, channel);
|
||||
if (center_chan) {
|
||||
if (center_chan && is_chanwidth160_supported(mode, conf)) {
|
||||
wpa_printf(MSG_DEBUG,
|
||||
"VHT center channel %u for auto-selected 160 MHz bandwidth",
|
||||
center_chan);
|
||||
|
||||
Reference in New Issue
Block a user