mac80211: minstrel: make short preamble CCK available when not used at connect time
authorFelix Fietkau <nbd@nbd.name>
Thu, 8 Mar 2018 21:54:20 +0000 (22:54 +0100)
committerFelix Fietkau <nbd@nbd.name>
Sat, 10 Mar 2018 10:57:42 +0000 (11:57 +0100)
The BSS short preamble state can change without rate control
update notification.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/kernel/mac80211/patches/373-mac80211-minstrel-fix-using-short-preamble-CCK-rates.patch

index 1255da992cd1c2f028047817cf88da8b89c41e44..502d8c7768cc1bb2b429359d0496797104a64d9f 100644 (file)
@@ -11,13 +11,21 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/mac80211/rc80211_minstrel_ht.c
 +++ b/net/mac80211/rc80211_minstrel_ht.c
-@@ -1268,7 +1268,8 @@ minstrel_ht_update_caps(void *priv, stru
+@@ -1135,7 +1135,6 @@ minstrel_ht_update_caps(void *priv, stru
+       struct ieee80211_mcs_info *mcs = &sta->ht_cap.mcs;
+       u16 ht_cap = sta->ht_cap.cap;
+       struct ieee80211_sta_vht_cap *vht_cap = &sta->vht_cap;
+-      struct sta_info *sinfo = container_of(sta, struct sta_info, sta);
+       int use_vht;
+       int n_supported = 0;
+       int ack_dur;
+@@ -1267,8 +1266,7 @@ minstrel_ht_update_caps(void *priv, stru
+       if (!n_supported)
                goto use_legacy;
  
-       if (test_sta_flag(sinfo, WLAN_STA_SHORT_PREAMBLE))
+-      if (test_sta_flag(sinfo, WLAN_STA_SHORT_PREAMBLE))
 -              mi->cck_supported_short |= mi->cck_supported_short << 4;
-+              mi->supported[MINSTREL_CCK_GROUP] |=
-+                      mi->cck_supported_short << 4;
++      mi->supported[MINSTREL_CCK_GROUP] |= mi->cck_supported_short << 4;
  
        /* create an initial rate table with the lowest supported rates */
        minstrel_ht_update_stats(mp, mi);