If a mesh peer indicates it is operating as 20MHz-only in its HT
operation IE, have the rate control algorithm respect this by disabling
the equivalent bit in the ieee80211_sta HT capabilities.

Signed-off-by: Thomas Pedersen <[email protected]>
---
 net/mac80211/mesh_plink.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c
index f4124d7..6209327 100644
--- a/net/mac80211/mesh_plink.c
+++ b/net/mac80211/mesh_plink.c
@@ -302,6 +302,12 @@ static struct sta_info *mesh_peer_init(struct 
ieee80211_sub_if_data *sdata,
        else
                memset(&sta->sta.ht_cap, 0, sizeof(sta->sta.ht_cap));
 
+       if (elems->ht_operation)
+               if (!(elems->ht_operation->ht_param &
+                     IEEE80211_HT_PARAM_CHAN_WIDTH_ANY))
+                       sta->sta.ht_cap.cap &=
+                                           ~IEEE80211_HT_CAP_SUP_WIDTH_20_40;
+
        rate_control_rate_init(sta);
        spin_unlock_bh(&sta->lock);
 
-- 
1.7.5.4

_______________________________________________
Devel mailing list
[email protected]
http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel

Reply via email to