ath9k: add a fix for an aggregation delimiter size rounding error
authorFelix Fietkau <nbd@openwrt.org>
Sat, 9 Oct 2010 00:36:49 +0000 (00:36 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 9 Oct 2010 00:36:49 +0000 (00:36 +0000)
SVN-Revision: 23349

package/mac80211/patches/510-ath9k_aggr_delim_fix.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/510-ath9k_aggr_delim_fix.patch b/package/mac80211/patches/510-ath9k_aggr_delim_fix.patch
new file mode 100644 (file)
index 0000000..a34ff92
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/drivers/net/wireless/ath/ath9k/ath9k.h
++++ b/drivers/net/wireless/ath/ath9k/ath9k.h
+@@ -177,8 +177,8 @@ void ath_descdma_cleanup(struct ath_soft
+ /* returns delimiter padding required given the packet length */
+ #define ATH_AGGR_GET_NDELIM(_len)                                     \
+-      (((((_len) + ATH_AGGR_DELIM_SZ) < ATH_AGGR_MINPLEN) ?           \
+-        (ATH_AGGR_MINPLEN - (_len) - ATH_AGGR_DELIM_SZ) : 0) >> 2)
++      (((_len) >= ATH_AGGR_MINPLEN) ? 0 :                             \
++       DIV_ROUND_UP(ATH_AGGR_MINPLEN - (_len), ATH_AGGR_DELIM_SZ))
+ #define BAW_WITHIN(_start, _bawsz, _seqno) \
+       ((((_seqno) - (_start)) & 4095) < (_bawsz))