aboutsummaryrefslogtreecommitdiffstats
path: root/package/madwifi/patches/405-retransmit_check.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2008-07-01 21:38:40 +0000
committerFelix Fietkau <nbd@openwrt.org>2008-07-01 21:38:40 +0000
commitc9e08e9105b4c4509856b86725770adbdcb0b99e (patch)
tree4546db27f37663db8cde5a79f303c1dcc0a05521 /package/madwifi/patches/405-retransmit_check.patch
parent171e7134db9ab6166aa97eddcc00beec81f9f35f (diff)
downloadupstream-c9e08e9105b4c4509856b86725770adbdcb0b99e.tar.gz
upstream-c9e08e9105b4c4509856b86725770adbdcb0b99e.tar.bz2
upstream-c9e08e9105b4c4509856b86725770adbdcb0b99e.zip
madwifi: fix sequence number check on incoming retransmit checks
SVN-Revision: 11614
Diffstat (limited to 'package/madwifi/patches/405-retransmit_check.patch')
-rw-r--r--package/madwifi/patches/405-retransmit_check.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/package/madwifi/patches/405-retransmit_check.patch b/package/madwifi/patches/405-retransmit_check.patch
new file mode 100644
index 0000000000..c20a022930
--- /dev/null
+++ b/package/madwifi/patches/405-retransmit_check.patch
@@ -0,0 +1,26 @@
+Index: madwifi-trunk-r3314/net80211/ieee80211.h
+===================================================================
+--- madwifi-trunk-r3314.orig/net80211/ieee80211.h 2008-07-01 22:16:19.000000000 +0200
++++ madwifi-trunk-r3314/net80211/ieee80211.h 2008-07-01 22:17:12.000000000 +0200
+@@ -174,8 +174,6 @@
+ #define IEEE80211_SEQ_SEQ_MASK 0xfff0
+ #define IEEE80211_SEQ_SEQ_SHIFT 4
+
+-#define IEEE80211_SEQ_LEQ(a,b) ((int)((a)-(b)) <= 0)
+-
+ #define IEEE80211_NWID_LEN 32
+
+ #define IEEE80211_QOS_TXOP 0x00ff
+Index: madwifi-trunk-r3314/net80211/ieee80211_input.c
+===================================================================
+--- madwifi-trunk-r3314.orig/net80211/ieee80211_input.c 2008-07-01 22:17:11.000000000 +0200
++++ madwifi-trunk-r3314/net80211/ieee80211_input.c 2008-07-01 22:17:49.000000000 +0200
+@@ -412,7 +412,7 @@
+ tid = 0;
+ rxseq = le16toh(*(__le16 *)wh->i_seq);
+ if ((wh->i_fc[1] & IEEE80211_FC1_RETRY) &&
+- IEEE80211_SEQ_LEQ(rxseq, ni->ni_rxseqs[tid])) {
++ (rxseq == ni->ni_rxseqs[tid])) {
+ /* duplicate, discard */
+ IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT,
+ bssid, "duplicate",