Browse Source

mac80211: do not call rate control .tx_status before .rate_init

Most rate control implementations assume .get_rate and .tx_status are only
called once the per-station data has been fully initialized.
minstrel_ht crashes if this assumption is violated.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Tested-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Felix Fietkau 13 years ago
parent
commit
2cfc6fc584
1 changed files with 1 additions and 1 deletions
  1. 1 1
      net/mac80211/rate.h

+ 1 - 1
net/mac80211/rate.h

@@ -37,7 +37,7 @@ static inline void rate_control_tx_status(struct ieee80211_local *local,
 	struct ieee80211_sta *ista = &sta->sta;
 	struct ieee80211_sta *ista = &sta->sta;
 	void *priv_sta = sta->rate_ctrl_priv;
 	void *priv_sta = sta->rate_ctrl_priv;
 
 
-	if (!ref)
+	if (!ref || !test_sta_flag(sta, WLAN_STA_RATE_CONTROL))
 		return;
 		return;
 
 
 	ref->ops->tx_status(ref->priv, sband, ista, priv_sta, skb);
 	ref->ops->tx_status(ref->priv, sband, ista, priv_sta, skb);