diff options
Diffstat (limited to 'package/mac80211/patches/524-ath9k_aggr_status_validate.patch')
-rw-r--r-- | package/mac80211/patches/524-ath9k_aggr_status_validate.patch | 51 |
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 e6ea97e..0000000 --- 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); - |