summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/524-ath9k_aggr_status_validate.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/524-ath9k_aggr_status_validate.patch')
-rw-r--r--package/mac80211/patches/524-ath9k_aggr_status_validate.patch51
1 files changed, 0 insertions, 51 deletions
diff --git a/package/mac80211/patches/524-ath9k_aggr_status_validate.patch b/package/mac80211/patches/524-ath9k_aggr_status_validate.patch
deleted file mode 100644
index e6ea97e97..000000000
--- a/package/mac80211/patches/524-ath9k_aggr_status_validate.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c
-+++ b/drivers/net/wireless/ath/ath9k/ar9002_mac.c
-@@ -287,6 +287,7 @@ static int ar9002_hw_proc_txdesc(struct
- ts->ts_shortretry = MS(ads->ds_txstatus1, AR_RTSFailCnt);
- ts->ts_longretry = MS(ads->ds_txstatus1, AR_DataFailCnt);
- ts->ts_virtcol = MS(ads->ds_txstatus1, AR_VirtRetryCnt);
-+ ts->tid = MS(ads->ds_txstatus9, AR_TxTid);
- ts->ts_antenna = 0;
-
- return 0;
---- a/drivers/net/wireless/ath/ath9k/ar9003_mac.h
-+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.h
-@@ -33,9 +33,6 @@
- #define AR_TxDescId_S 16
- #define AR_TxPtrChkSum 0x0000ffff
-
--#define AR_TxTid 0xf0000000
--#define AR_TxTid_S 28
--
- #define AR_LowRxChain 0x00004000
-
- #define AR_Not_Sounding 0x20000000
---- a/drivers/net/wireless/ath/ath9k/mac.h
-+++ b/drivers/net/wireless/ath/ath9k/mac.h
-@@ -485,6 +485,9 @@ struct ar5416_desc {
- #define AR_TxRSSICombined 0xff000000
- #define AR_TxRSSICombined_S 24
-
-+#define AR_TxTid 0xf0000000
-+#define AR_TxTid_S 28
-+
- #define AR_TxEVM0 ds_txstatus5
- #define AR_TxEVM1 ds_txstatus6
- #define AR_TxEVM2 ds_txstatus7
---- a/drivers/net/wireless/ath/ath9k/xmit.c
-+++ b/drivers/net/wireless/ath/ath9k/xmit.c
-@@ -355,6 +355,14 @@ static void ath_tx_complete_aggr(struct
- an = (struct ath_node *)sta->drv_priv;
- tid = ATH_AN_2_TID(an, bf->bf_tidno);
-
-+ /*
-+ * The hardware occasionally sends a tx status for the wrong TID.
-+ * In this case, the BA status cannot be considered valid and all
-+ * subframes need to be retransmitted
-+ */
-+ if (bf->bf_tidno != ts->tid)
-+ txok = false;
-+
- isaggr = bf_isaggr(bf);
- memset(ba, 0, WME_BA_BMP_SIZE >> 3);
-