mi->supported[MINSTREL_CCK_GROUP] needs to be updated
short preamble rates need to be marked as supported regardless of
whether it's currently enabled. Its state can change at any time without
a rate_update call.

Fixes: 782dda00ab8e ("mac80211: minstrel_ht: move short preamble check out of 
get_rate")
Signed-off-by: Felix Fietkau <[email protected]>
---
 net/mac80211/rc80211_minstrel_ht.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/net/mac80211/rc80211_minstrel_ht.c 
b/net/mac80211/rc80211_minstrel_ht.c
index 38e17ed20d41..118ffe7f88c4 100644
--- a/net/mac80211/rc80211_minstrel_ht.c
+++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -1135,7 +1135,6 @@ minstrel_ht_update_caps(void *priv, struct 
ieee80211_supported_band *sband,
        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;
@@ -1265,8 +1264,7 @@ minstrel_ht_update_caps(void *priv, struct 
ieee80211_supported_band *sband,
        if (!n_supported)
                goto use_legacy;
 
-       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;
 
        /* create an initial rate table with the lowest supported rates */
        minstrel_ht_update_stats(mp, mi);
-- 
2.17.0

Reply via email to