mac80211: minstrel: fix using short preamble CCK rates on HT clients
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 <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
202df504d7
commit
37439f2d6e
@ -1135,7 +1135,6 @@ minstrel_ht_update_caps(void *priv, struct ieee80211_supported_band *sband,
|
|||||||
struct ieee80211_mcs_info *mcs = &sta->ht_cap.mcs;
|
struct ieee80211_mcs_info *mcs = &sta->ht_cap.mcs;
|
||||||
u16 ht_cap = sta->ht_cap.cap;
|
u16 ht_cap = sta->ht_cap.cap;
|
||||||
struct ieee80211_sta_vht_cap *vht_cap = &sta->vht_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 use_vht;
|
||||||
int n_supported = 0;
|
int n_supported = 0;
|
||||||
int ack_dur;
|
int ack_dur;
|
||||||
@ -1265,8 +1264,7 @@ minstrel_ht_update_caps(void *priv, struct ieee80211_supported_band *sband,
|
|||||||
if (!n_supported)
|
if (!n_supported)
|
||||||
goto use_legacy;
|
goto use_legacy;
|
||||||
|
|
||||||
if (test_sta_flag(sinfo, WLAN_STA_SHORT_PREAMBLE))
|
mi->supported[MINSTREL_CCK_GROUP] |= mi->cck_supported_short << 4;
|
||||||
mi->cck_supported_short |= mi->cck_supported_short << 4;
|
|
||||||
|
|
||||||
/* create an initial rate table with the lowest supported rates */
|
/* create an initial rate table with the lowest supported rates */
|
||||||
minstrel_ht_update_stats(mp, mi);
|
minstrel_ht_update_stats(mp, mi);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user