diff options
| -rw-r--r-- | package/mac80211/patches/521-ath9k_aggr_race_fix.patch | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/package/mac80211/patches/521-ath9k_aggr_race_fix.patch b/package/mac80211/patches/521-ath9k_aggr_race_fix.patch index 0da1e6124..0dbbc13f9 100644 --- a/package/mac80211/patches/521-ath9k_aggr_race_fix.patch +++ b/package/mac80211/patches/521-ath9k_aggr_race_fix.patch @@ -41,12 +41,15 @@   void ath9k_enable_ps(struct ath_softc *sc);  --- a/drivers/net/wireless/ath/ath9k/main.c  +++ b/drivers/net/wireless/ath/ath9k/main.c -@@ -1968,7 +1968,7 @@ static int ath9k_ampdu_action(struct iee +@@ -1968,8 +1968,9 @@ static int ath9k_ampdu_action(struct iee   		break;   	case IEEE80211_AMPDU_TX_START:   		ath9k_ps_wakeup(sc);  -		ath_tx_aggr_start(sc, sta, tid, ssn); +-		ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid);  +		ret = ath_tx_aggr_start(sc, sta, tid, ssn); - 		ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); ++		if (!ret) ++			ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid);   		ath9k_ps_restore(sc);   		break; + 	case IEEE80211_AMPDU_TX_STOP: | 
