2008-07-13 01:23:21 +03:00
|
|
|
--- a/net80211/ieee80211.h
|
|
|
|
+++ b/net80211/ieee80211.h
|
2008-11-02 15:03:03 +02:00
|
|
|
@@ -174,8 +174,6 @@ struct ieee80211_ctlframe_addr2 {
|
2008-07-02 00:38:40 +03:00
|
|
|
#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
|
2008-07-13 01:23:21 +03:00
|
|
|
--- a/net80211/ieee80211_input.c
|
|
|
|
+++ b/net80211/ieee80211_input.c
|
2009-01-25 02:37:41 +02:00
|
|
|
@@ -436,7 +436,7 @@ ieee80211_input(struct ieee80211vap * va
|
2008-07-02 00:38:40 +03:00
|
|
|
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",
|