mac80211: don't set mesh peer ht caps if ht disabled
authorThomas Pedersen <thomas@cozybit.com>
Thu, 19 Apr 2012 02:24:13 +0000 (19:24 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 23 Apr 2012 19:34:07 +0000 (15:34 -0400)
Blindly setting ht caps on a mesh peer's station entry would result in
MCS rates being used by the rate control algorithm even if no ht had
been configured. Fix this by checking the channel type before assigning
ht capabilites.

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

index c2af7b3d03cd2cfe8581bcdf35dfef85e8f0589f..1ff2a5c63e43444f80ed6b19ebfc3806bacf6722 100644 (file)
@@ -295,7 +295,8 @@ static struct sta_info *mesh_peer_init(struct ieee80211_sub_if_data *sdata,
        spin_lock_bh(&sta->lock);
        sta->last_rx = jiffies;
        sta->sta.supp_rates[band] = rates;
-       if (elems->ht_cap_elem)
+       if (elems->ht_cap_elem &&
+           sdata->local->_oper_channel_type != NL80211_CHAN_NO_HT)
                ieee80211_ht_cap_ie_to_sta_ht_cap(sdata, sband,
                                                  elems->ht_cap_elem,
                                                  &sta->sta.ht_cap);