Răsfoiți Sursa

mac80211: fix rx_nss calculation for drivers with hw rc

Drivers with hardware rate control were given
sta->rx_nss set to 0. This was because rx_nss
calculation procedure was protected by hw/sw rate
control check.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Michal Kazior 11 ani în urmă
părinte
comite
ddcc347b70
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      net/mac80211/rate.h

+ 2 - 2
net/mac80211/rate.h

@@ -54,6 +54,8 @@ static inline void rate_control_rate_init(struct sta_info *sta)
 	struct ieee80211_supported_band *sband;
 	struct ieee80211_supported_band *sband;
 	struct ieee80211_chanctx_conf *chanctx_conf;
 	struct ieee80211_chanctx_conf *chanctx_conf;
 
 
+	ieee80211_sta_set_rx_nss(sta);
+
 	if (!ref)
 	if (!ref)
 		return;
 		return;
 
 
@@ -67,8 +69,6 @@ static inline void rate_control_rate_init(struct sta_info *sta)
 
 
 	sband = local->hw.wiphy->bands[chanctx_conf->def.chan->band];
 	sband = local->hw.wiphy->bands[chanctx_conf->def.chan->band];
 
 
-	ieee80211_sta_set_rx_nss(sta);
-
 	ref->ops->rate_init(ref->priv, sband, &chanctx_conf->def, ista,
 	ref->ops->rate_init(ref->priv, sband, &chanctx_conf->def, ista,
 			    priv_sta);
 			    priv_sta);
 	rcu_read_unlock();
 	rcu_read_unlock();