diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-02-08 13:17:11 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-02-08 16:07:31 -0500 |
commit | 2cfc6fc584a65db87935ca4e4d5e1ad89d5192ee (patch) | |
tree | cebba13955a1702bf73ffa29a648b01a5942bcfa | |
parent | 42bc0c9716c456a9686fcd4ee5cf115b992b9952 (diff) |
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>
-rw-r--r-- | net/mac80211/rate.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/rate.h b/net/mac80211/rate.h index 5fc3135a6b45..fbb1efdc4d04 100644 --- a/net/mac80211/rate.h +++ b/net/mac80211/rate.h | |||
@@ -37,7 +37,7 @@ static inline void rate_control_tx_status(struct ieee80211_local *local, | |||
37 | struct ieee80211_sta *ista = &sta->sta; | 37 | struct ieee80211_sta *ista = &sta->sta; |
38 | void *priv_sta = sta->rate_ctrl_priv; | 38 | void *priv_sta = sta->rate_ctrl_priv; |
39 | 39 | ||
40 | if (!ref) | 40 | if (!ref || !test_sta_flag(sta, WLAN_STA_RATE_CONTROL)) |
41 | return; | 41 | return; |
42 | 42 | ||
43 | ref->ops->tx_status(ref->priv, sband, ista, priv_sta, skb); | 43 | ref->ops->tx_status(ref->priv, sband, ista, priv_sta, skb); |