summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/545-ath9k_aggr_padding_fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/545-ath9k_aggr_padding_fix.patch')
-rw-r--r--package/mac80211/patches/545-ath9k_aggr_padding_fix.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/package/mac80211/patches/545-ath9k_aggr_padding_fix.patch b/package/mac80211/patches/545-ath9k_aggr_padding_fix.patch
new file mode 100644
index 000000000..4b5f22f2d
--- /dev/null
+++ b/package/mac80211/patches/545-ath9k_aggr_padding_fix.patch
@@ -0,0 +1,23 @@
+--- a/drivers/net/wireless/ath/ath9k/xmit.c
++++ b/drivers/net/wireless/ath/ath9k/xmit.c
+@@ -728,7 +728,9 @@ static int ath_compute_num_delims(struct
+ * Add delimiter when using RTS/CTS with aggregation
+ * and non enterprise AR9003 card
+ */
+- if (first_subfrm)
++ if (first_subfrm && (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) &&
++ !AR_SREV_9580_10_OR_LATER(sc->sc_ah) &&
++ (sc->sc_ah->ent_mode & AR_ENT_OTP_MIN_PKT_SIZE_DISABLE))
+ ndelim = max(ndelim, FIRST_DESC_NDELIMS);
+
+ /*
+--- a/drivers/net/wireless/ath/ath9k/reg.h
++++ b/drivers/net/wireless/ath/ath9k/reg.h
+@@ -1132,6 +1132,7 @@ enum {
+ #define AR_INTR_PRIO_ASYNC_ENABLE (AR_SREV_9340(ah) ? 0x4094 : 0x40d4)
+ #define AR_ENT_OTP 0x40d8
+ #define AR_ENT_OTP_CHAIN2_DISABLE 0x00020000
++#define AR_ENT_OTP_MIN_PKT_SIZE_DISABLE 0x00800000
+ #define AR_ENT_OTP_MPSD 0x00800000
+
+ #define AR_CH0_BB_DPLL1 0x16180