mac80211: correct use_short_preamble handling
PATCH 1/2 mac80211: correct use_short_preamble handling
ERP IE bit for preamble mode is 0 for short and 1 for long, not the other way around. This fixes the value reported to the driver via bss_conf->use_short_preamble field.
Signed-off-by Vladimir Koutny <[email protected]>
---
net/mac80211/ieee80211_sta.c +4 -5
@@ -360,7 +360,7 @@ static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata,struct ieee80211_bss_conf *bss_conf = &sdata->bss_conf;struct ieee80211_if_sta *ifsta = &sdata->u.sta;bool use_protection = (erp_value &WLAN_ERP_USE_PROTECTION ) !=0 ; -bool preamble_mode = (erp_value &WLAN_ERP_BARKER_PREAMBLE ) !=0 ; +bool use_short_preamble = (erp_value &WLAN_ERP_BARKER_PREAMBLE ) ==0 ;DECLARE_MAC_BUF (mac);u32 changed =0 ;
@@ -376,16 +376,15 @@ static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata, changed |=BSS_CHANGED_ERP_CTS_PROT ; } -if (preamble_mode != bss_conf->use_short_preamble) { +if (use_short_preamble != bss_conf->use_short_preamble) {if (net_ratelimit ()) {printk (KERN_DEBUG "%s: switched to %s barker preamble" " (BSSID=%s)\n" , sdata->dev->name, - (preamble_mode ==WLAN_ERP_PREAMBLE_SHORT ) ? -"short" :"long" , + use_short_preamble ?"short" :"long" ,print_mac (mac, ifsta->bssid)); } - bss_conf->use_short_preamble = preamble_mode; + bss_conf->use_short_preamble = use_short_preamble; changed |=BSS_CHANGED_ERP_PREAMBLE ; }
Quoted 29 lines · Vladimir Koutny
ERP IE bit for preamble mode is 0 for short and 1 for long, not the other way around. This fixes the value reported to the driver via
bss_conf->use_short_preamblefield.Signed-off-by Vladimir Koutny <[email protected]>---
net/mac80211/ieee80211_sta.c +2
-2@@ -360,7 +360,7 @@ static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata,struct ieee80211_bss_conf *bss_conf = &sdata->bss_conf;struct ieee80211_if_sta *ifsta = &sdata->u.sta;bool use_protection = (erp_value &WLAN_ERP_USE_PROTECTION ) !=0 ; -bool preamble_mode = (erp_value &WLAN_ERP_BARKER_PREAMBLE ) !=0 ; +bool use_short_preamble = (erp_value &WLAN_ERP_BARKER_PREAMBLE ) ==0 ;DECLARE_MAC_BUF (mac);u32 changed =0 ;@@ -376,16 +376,15 @@ static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata, changed |=BSS_CHANGED_ERP_CTS_PROT ; } -if (preamble_mode != bss_conf->use_short_preamble) { +if (use_short_preamble != bss_conf->use_short_preamble) {if (net_ratelimit ()) { printk(KERN_DEBUG "%s: switched to %s barker preamble" " (BSSID=%s)\n",
net/mac80211/ieee80211_sta.c static u32 ieee80211_handle_erp_ie(struct ieee80211_sub_if_data *sdata, · line 389
Quoted 10 lines
net/mac80211/ieee80211_sta.c +2
-3sdata->dev->name, - (preamble_mode ==WLAN_ERP_PREAMBLE_SHORT ) ? -"short" :"long" , + use_short_preamble ?"short" :"long" , print_mac(mac, ifsta->bssid)); } - bss_conf->use_short_preamble = preamble_mode; + bss_conf->use_short_preamble = use_short_preamble; changed |=BSS_CHANGED_ERP_PREAMBLE ; }
ACK
Quoted 5 lines
net/mac80211/ieee80211_sta.c +0
-1--To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html