diff mbox series

mesh: fix HE enablement on 5GHZ with VHT

Message ID 0101016edc526f59-f2a69327-e806-422b-b1b3-335b5326cc80-000000@us-west-2.amazonses.com
State Changes Requested
Headers show
Series mesh: fix HE enablement on 5GHZ with VHT | expand

Commit Message

Pradeep Kumar Chitrapu Dec. 6, 2019, 5:47 p.m. UTC
Incorrect parameter is being passed to hostpad_set_freq_params in
mesh which causes HE to be not enabled on 5GZ. so fix that.

Fixes: 6e711e7ab32 (mesh: Do not enable HE on 5 GHz without VHT)
Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
---
 wpa_supplicant/wpa_supplicant.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jouni Malinen Dec. 22, 2019, 9:20 a.m. UTC | #1
On Fri, Dec 06, 2019 at 05:47:00PM +0000, Pradeep Kumar Chitrapu wrote:
> Incorrect parameter is being passed to hostpad_set_freq_params in
> mesh which causes HE to be not enabled on 5GZ. so fix that.

> diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
> @@ -2410,7 +2410,7 @@ skip_ht40:
>  		return;
>  
>  	/* Enable HE for VHT */
> -	vht_freq.he_enabled = mode->he_capab[ieee80211_mode].he_supported;
> +	freq->he_enabled = mode->he_capab[ieee80211_mode].he_supported;

This looks really confusing since the comment here is clearly talking
about VHT and freq might point to no-VHT parameters here. The code just
above this is setting vht_freq.vht_enabled, not freq->vht_enabled.
Furthermore, setting freq->he_enabled here would seem to break the
expected behavior with the following return statements that try to
disable VHT.

Wouldn't the correct fix for this be in changing the
hostapd_set_freq_params() to use vht_freq.he_enabled instead of
freq->he_enabled so that the same logic can be maintained for both
vht_enabled and he_enabled?
diff mbox series

Patch

diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index 6688d71af954..5b38a631917b 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -2410,7 +2410,7 @@  skip_ht40:
 		return;
 
 	/* Enable HE for VHT */
-	vht_freq.he_enabled = mode->he_capab[ieee80211_mode].he_supported;
+	freq->he_enabled = mode->he_capab[ieee80211_mode].he_supported;
 
 	/* setup center_freq1, bandwidth */
 	for (j = 0; j < ARRAY_SIZE(vht80); j++) {