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
commita4429acb6a68cb56d68ef735cb5d3e333566fac3 (patch)
tree6f12bdee8929eacaa73451dc2ed9967f7924825c /package/madwifi/patches/405-retransmit_check.patch
parent9b6ee11b1b8fef05234407737a4af206abdf6ad0 (diff)
downloadupstream-a4429acb6a68cb56d68ef735cb5d3e333566fac3.tar.gz
upstream-a4429acb6a68cb56d68ef735cb5d3e333566fac3.tar.bz2
upstream-a4429acb6a68cb56d68ef735cb5d3e333566fac3.zip
madwifi: fix sequence number check on incoming retransmit checks
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11614 3c298f89-4303-0410-b956-a3cf2f4a3e73
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",