mac80211: fix STA channel width field
authorThomas Pedersen <thomas@cozybit.com>
Thu, 19 Apr 2012 02:24:14 +0000 (19:24 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 23 Apr 2012 19:34:07 +0000 (15:34 -0400)
According to IEEE 802.11 8.4.2.59, set the "STA channel width" bit to 0
if transmitting STA is using a 20mhz channel.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/util.c

index 89c1e5b..577942b 100644 (file)
@@ -1684,7 +1684,9 @@ u8 *ieee80211_ie_build_ht_oper(u8 *pos, struct ieee80211_sta_ht_cap *ht_cap,
                ht_oper->ht_param = IEEE80211_HT_PARAM_CHA_SEC_NONE;
                break;
        }
-       if (ht_cap->cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40)
+       if (ht_cap->cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40 &&
+           channel_type != NL80211_CHAN_NO_HT &&
+           channel_type != NL80211_CHAN_HT20)
                ht_oper->ht_param |= IEEE80211_HT_PARAM_CHAN_WIDTH_ANY;
 
        /*