include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=madwifi
-PKG_VERSION:=r2799-20071030
+PKG_VERSION:=r2834-20071106
PKG_BRANCH:=madwifi-ng
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_BRANCH)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://snapshots.madwifi.org/$(PKG_BRANCH)
-PKG_MD5SUM:=58fdb5d5acf73ccd4577f17fbd7c6a22
+PKG_MD5SUM:=3de6b07146001b53bc45de5d3dd95bc2
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_BRANCH)-$(PKG_VERSION)
-Index: madwifi-ng-r2799-20071030/hal/public/mips-be-elf.inc
+Index: madwifi-ng-r2834-20071106/hal/public/mips-be-elf.inc
===================================================================
---- madwifi-ng-r2799-20071030.orig/hal/public/mips-be-elf.inc 2007-10-31 14:04:47.029301526 +0100
-+++ madwifi-ng-r2799-20071030/hal/public/mips-be-elf.inc 2007-10-31 14:04:47.125306996 +0100
+--- madwifi-ng-r2834-20071106.orig/hal/public/mips-be-elf.inc 2007-11-07 14:01:59.849362290 +0100
++++ madwifi-ng-r2834-20071106/hal/public/mips-be-elf.inc 2007-11-07 14:01:59.941367534 +0100
@@ -71,5 +71,5 @@
LDOPTS= -EB
-COPTS+= -G 0 -EB -mno-abicalls -fno-pic -mips2 -Wa,--trap \
+COPTS+= -G 0 -mno-abicalls -fno-pic -mips32 -Wa,--trap \
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
-Index: madwifi-ng-r2799-20071030/hal/public/mips-le-elf.inc
+Index: madwifi-ng-r2834-20071106/hal/public/mips-le-elf.inc
===================================================================
---- madwifi-ng-r2799-20071030.orig/hal/public/mips-le-elf.inc 2007-10-31 14:04:47.037301982 +0100
-+++ madwifi-ng-r2799-20071030/hal/public/mips-le-elf.inc 2007-10-31 14:04:47.133307452 +0100
+--- madwifi-ng-r2834-20071106.orig/hal/public/mips-le-elf.inc 2007-11-07 14:01:59.857362746 +0100
++++ madwifi-ng-r2834-20071106/hal/public/mips-le-elf.inc 2007-11-07 14:01:59.949367989 +0100
@@ -68,5 +68,5 @@
LDOPTS= -EL
-COPTS+= -G 0 -EL -mno-abicalls -fno-pic -mips2 -Wa,--trap \
+COPTS+= -G 0 -mno-abicalls -fno-pic -mips32 -Wa,--trap \
-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
-Index: madwifi-ng-r2799-20071030/hal/public/xscale-be-elf.inc
+Index: madwifi-ng-r2834-20071106/hal/public/xscale-be-elf.inc
===================================================================
---- madwifi-ng-r2799-20071030.orig/hal/public/xscale-be-elf.inc 2007-10-31 14:04:47.045302437 +0100
-+++ madwifi-ng-r2799-20071030/hal/public/xscale-be-elf.inc 2007-10-31 14:04:47.137307681 +0100
+--- madwifi-ng-r2834-20071106.orig/hal/public/xscale-be-elf.inc 2007-11-07 14:01:59.865363201 +0100
++++ madwifi-ng-r2834-20071106/hal/public/xscale-be-elf.inc 2007-11-07 14:01:59.953368219 +0100
@@ -77,5 +77,5 @@
LDOPTS= -EB
-Index: madwifi-ng-r2799-20071030/tools/80211debug.c
+Index: madwifi-ng-r2834-20071106/tools/80211debug.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/80211debug.c 2007-10-31 14:04:46.925295598 +0100
-+++ madwifi-ng-r2799-20071030/tools/80211debug.c 2007-10-31 14:04:47.537330476 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/80211debug.c 2007-11-07 14:01:59.745356362 +0100
++++ madwifi-ng-r2834-20071106/tools/80211debug.c 2007-11-07 14:02:00.181381212 +0100
@@ -49,6 +49,10 @@
#include <getopt.h>
#include <err.h>
const char *ifname = "ath0";
const char *cp, *tp;
const char *sep;
-Index: madwifi-ng-r2799-20071030/tools/80211stats.c
+Index: madwifi-ng-r2834-20071106/tools/80211stats.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/80211stats.c 2007-10-31 14:04:46.929295827 +0100
-+++ madwifi-ng-r2799-20071030/tools/80211stats.c 2007-10-31 14:04:47.537330476 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/80211stats.c 2007-11-07 14:01:59.753356821 +0100
++++ madwifi-ng-r2834-20071106/tools/80211stats.c 2007-11-07 14:02:00.181381212 +0100
@@ -60,6 +60,10 @@
#include "net80211/ieee80211_crypto.h"
#include "net80211/ieee80211_ioctl.h"
int c, len;
struct ieee80211req_sta_info *si;
u_int8_t buf[24*1024], *cp;
-Index: madwifi-ng-r2799-20071030/tools/athchans.c
+Index: madwifi-ng-r2834-20071106/tools/athchans.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/athchans.c 2007-10-31 14:04:46.937296283 +0100
-+++ madwifi-ng-r2799-20071030/tools/athchans.c 2007-10-31 14:04:47.545330932 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/athchans.c 2007-11-07 14:01:59.757357047 +0100
++++ madwifi-ng-r2834-20071106/tools/athchans.c 2007-11-07 14:02:00.189381667 +0100
@@ -59,6 +59,10 @@
#include "net80211/ieee80211_crypto.h"
#include "net80211/ieee80211_ioctl.h"
const char *ifname = "wifi0";
struct ieee80211req_chanlist chanlist;
int c;
-Index: madwifi-ng-r2799-20071030/tools/athctrl.c
+Index: madwifi-ng-r2834-20071106/tools/athctrl.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/athctrl.c 2007-10-31 14:04:46.945296738 +0100
-+++ madwifi-ng-r2799-20071030/tools/athctrl.c 2007-10-31 14:04:47.549331161 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/athctrl.c 2007-11-07 14:01:59.765357502 +0100
++++ madwifi-ng-r2834-20071106/tools/athctrl.c 2007-11-07 14:02:00.193381896 +0100
@@ -53,6 +53,10 @@
#include <net/if.h>
char device[IFNAMSIZ + 1];
int distance = -1;
int c;
-Index: madwifi-ng-r2799-20071030/tools/athdebug.c
+Index: madwifi-ng-r2834-20071106/tools/athdebug.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/athdebug.c 2007-10-31 14:04:46.953297193 +0100
-+++ madwifi-ng-r2799-20071030/tools/athdebug.c 2007-10-31 14:04:47.557331616 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/athdebug.c 2007-11-07 14:01:59.773357960 +0100
++++ madwifi-ng-r2834-20071106/tools/athdebug.c 2007-11-07 14:02:00.193381896 +0100
@@ -52,6 +52,10 @@
#include <getopt.h>
#include <err.h>
#ifdef __linux__
const char *ifname = "wifi0";
#else
-Index: madwifi-ng-r2799-20071030/tools/athkey.c
+Index: madwifi-ng-r2834-20071106/tools/athkey.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/athkey.c 2007-10-31 14:04:46.957297422 +0100
-+++ madwifi-ng-r2799-20071030/tools/athkey.c 2007-10-31 14:04:47.557331616 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/athkey.c 2007-11-07 14:01:59.777358186 +0100
++++ madwifi-ng-r2834-20071106/tools/athkey.c 2007-11-07 14:02:00.193381896 +0100
@@ -59,6 +59,10 @@
#include "net80211/ieee80211_crypto.h"
#include "net80211/ieee80211_ioctl.h"
const char *ifname = "wifi0";
struct ieee80211req_key setkey;
struct ieee80211req_del_key delkey;
-Index: madwifi-ng-r2799-20071030/tools/athstats.c
+Index: madwifi-ng-r2834-20071106/tools/athstats.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/athstats.c 2007-10-31 14:04:46.965297878 +0100
-+++ madwifi-ng-r2799-20071030/tools/athstats.c 2007-10-31 14:04:47.557331616 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/athstats.c 2007-11-07 14:01:59.785358642 +0100
++++ madwifi-ng-r2834-20071106/tools/athstats.c 2007-11-07 14:02:00.193381896 +0100
@@ -63,6 +63,10 @@
#include "wireless_copy.h"
#include "if_athioctl.h"
#ifdef __linux__
const char *ifname = "wifi0";
#else
-Index: madwifi-ng-r2799-20071030/tools/do_multi.c
+Index: madwifi-ng-r2834-20071106/tools/do_multi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ madwifi-ng-r2799-20071030/tools/do_multi.c 2007-10-31 14:04:47.557331616 +0100
++++ madwifi-ng-r2834-20071106/tools/do_multi.c 2007-11-07 14:02:00.197382122 +0100
@@ -0,0 +1,32 @@
+#include <string.h>
+#include "do_multi.h"
+
+ return ret;
+}
-Index: madwifi-ng-r2799-20071030/tools/do_multi.h
+Index: madwifi-ng-r2834-20071106/tools/do_multi.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ madwifi-ng-r2799-20071030/tools/do_multi.h 2007-10-31 14:04:47.557331616 +0100
++++ madwifi-ng-r2834-20071106/tools/do_multi.h 2007-11-07 14:02:00.197382122 +0100
@@ -0,0 +1,10 @@
+
+int a80211debug_init(int argc, char *argv[]);
+int athstats_init(int argc, char *argv[]);
+int wlanconfig_init(int argc, char *argv[]);
+int athinfo_init(int argc, char *argv[]);
-Index: madwifi-ng-r2799-20071030/tools/Makefile
+Index: madwifi-ng-r2834-20071106/tools/Makefile
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/Makefile 2007-10-31 14:04:46.981298791 +0100
-+++ madwifi-ng-r2799-20071030/tools/Makefile 2007-10-31 14:04:47.561331846 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/Makefile 2007-11-07 14:01:59.801359556 +0100
++++ madwifi-ng-r2834-20071106/tools/Makefile 2007-11-07 14:02:00.197382122 +0100
@@ -47,9 +47,12 @@
endif
install: $(ALL)
install -d $(DESTDIR)$(BINDIR)
-Index: madwifi-ng-r2799-20071030/tools/wlanconfig.c
+Index: madwifi-ng-r2834-20071106/tools/wlanconfig.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/wlanconfig.c 2007-10-31 14:04:46.989299247 +0100
-+++ madwifi-ng-r2799-20071030/tools/wlanconfig.c 2007-10-31 14:04:47.561331846 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/wlanconfig.c 2007-11-07 14:01:59.809360011 +0100
++++ madwifi-ng-r2834-20071106/tools/wlanconfig.c 2007-11-07 14:02:00.197382122 +0100
@@ -62,6 +62,10 @@
#include "net80211/ieee80211_crypto.h"
#include "net80211/ieee80211_ioctl.h"
const char *ifname, *cmd;
unsigned char bnounit = 0;
char *if_base = NULL;
-Index: madwifi-ng-r2799-20071030/tools/ath_info.c
+Index: madwifi-ng-r2834-20071106/tools/ath_info.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/ath_info.c 2007-10-31 14:04:46.997299702 +0100
-+++ madwifi-ng-r2799-20071030/tools/ath_info.c 2007-10-31 14:04:47.561331846 +0100
-@@ -722,8 +722,13 @@
+--- madwifi-ng-r2834-20071106.orig/tools/ath_info.c 2007-11-07 14:01:59.817360466 +0100
++++ madwifi-ng-r2834-20071106/tools/ath_info.c 2007-11-07 14:02:00.201382352 +0100
+@@ -736,7 +736,12 @@
"unlawful radio transmissions!\n\n");
}
+int
+athinfo_init(int argc, char *argv[])
+#else
- int
- main(int argc, char *argv[])
+ int main(int argc, char *argv[])
+#endif
{
u_int32_t dev_addr;
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:46.893293774 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:47.893350767 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:01:59.713354541 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:00.533401273 +0100
@@ -426,7 +426,7 @@
HAL_STATUS status;
int error = 0;
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_rate.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_rate.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_rate.c 2007-10-31 14:04:46.861291953 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_rate.c 2007-10-31 14:04:48.109363075 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_rate.c 2007-11-07 14:01:59.685352943 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_rate.c 2007-11-07 14:02:00.745413352 +0100
@@ -100,8 +100,18 @@
ieee80211_load_module(buf);
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:47.893350767 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:48.321375158 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:00.533401273 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:00.957425434 +0100
@@ -2122,7 +2122,10 @@
ath_draintxq(sc);
if (!sc->sc_invalid) {
-Index: madwifi-ng-r2799-20071030/ath_rate/minstrel/minstrel.c
+Index: madwifi-ng-r2834-20071106/ath_rate/minstrel/minstrel.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath_rate/minstrel/minstrel.c 2007-10-31 14:04:46.797288304 +0100
-+++ madwifi-ng-r2799-20071030/ath_rate/minstrel/minstrel.c 2007-10-31 14:04:48.537387466 +0100
+--- madwifi-ng-r2834-20071106.orig/ath_rate/minstrel/minstrel.c 2007-11-07 14:01:59.625349524 +0100
++++ madwifi-ng-r2834-20071106/ath_rate/minstrel/minstrel.c 2007-11-07 14:02:01.169437517 +0100
@@ -393,6 +393,9 @@
struct minstrel_node *sn = ATH_NODE_MINSTREL(an);
int rc1, rc2, rc3; /* Index into the rate table, so for example, it is 0..11 */
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:48.321375158 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:48.749399549 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:00.957425434 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:01.785472625 +0100
@@ -5853,7 +5853,8 @@
* frame; it'll be dropped where it's not wanted.
*/
struct ath_node *an;
/*
* Fast path: node is present in the key map;
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_node.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_node.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_node.c 2007-10-31 14:04:46.757286024 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_node.c 2007-10-31 14:04:48.753399778 +0100
-@@ -1275,8 +1275,6 @@
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_node.c 2007-11-07 14:01:59.581347018 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_node.c 2007-11-07 14:02:01.789472851 +0100
+@@ -1290,8 +1290,6 @@
IEEE80211_NODE_TABLE_UNLOCK_IRQ(nt);
return ni;
}
#ifdef IEEE80211_DEBUG_REFCNT
EXPORT_SYMBOL(ieee80211_find_rxnode_debug);
-@@ -1284,6 +1282,20 @@
+@@ -1299,6 +1297,20 @@
EXPORT_SYMBOL(ieee80211_find_rxnode);
#endif
/*
* Return a reference to the appropriate node for sending
* a data frame. This handles node discovery in adhoc networks.
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_node.h
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_node.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_node.h 2007-10-31 14:04:46.765286480 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_node.h 2007-10-31 14:04:48.761400233 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_node.h 2007-11-07 14:01:59.589347473 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_node.h 2007-11-07 14:02:01.873477636 +0100
@@ -328,6 +328,8 @@
*pni = NULL; /* guard against use */
}
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_scan.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_scan.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_scan.c 2007-10-31 14:04:46.717283745 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_scan.c 2007-10-31 14:04:48.993413455 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_scan.c 2007-11-07 14:01:59.541344736 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_scan.c 2007-11-07 14:02:02.281500890 +0100
@@ -291,7 +291,8 @@
struct ieee80211com *ic = vap->iv_ic;
int delay;
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:48.749399549 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:49.201425309 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:01.785472625 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:02.637521177 +0100
@@ -4559,16 +4559,31 @@
struct ieee80211com *ic = &sc->sc_ic;
struct ath_hal *ah = sc->sc_ah;
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:49.201425309 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:49.421437847 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:02.637521177 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:02.861533944 +0100
@@ -409,7 +409,6 @@
* and use the next two bits as the index of the VAP.
*/
if (ni != NULL) {
struct ath_node *an = ATH_NODE(ni);
ieee80211_keyix_t keyix;
-Index: madwifi-ng-r2799-20071030/ath/if_athvar.h
+Index: madwifi-ng-r2834-20071106/ath/if_athvar.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_athvar.h 2007-10-31 14:04:46.633278957 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_athvar.h 2007-10-31 14:04:49.429438302 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_athvar.h 2007-11-07 14:01:59.457339950 +0100
++++ madwifi-ng-r2834-20071106/ath/if_athvar.h 2007-11-07 14:02:02.861533944 +0100
@@ -209,7 +209,7 @@
#define ATH_RXBUF 40 /* number of RX buffers */
#define ATH_TXBUF 200 /* number of TX buffers */
u_int8_t sc_nbcnvaps; /* # of vaps sending beacons */
u_int sc_fftxqmin; /* aggregation threshold */
HAL_INT sc_imask; /* interrupt mask copy */
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_beacon.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_beacon.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_beacon.c 2007-10-31 14:04:46.637279186 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_beacon.c 2007-10-31 14:04:49.433438531 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_beacon.c 2007-11-07 14:01:59.461340176 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_beacon.c 2007-11-07 14:02:02.869534399 +0100
@@ -111,7 +111,7 @@
bo->bo_tim = frm;
*frm++ = IEEE80211_ELEMID_IBSSPARMS;
*frm++ = 2;
*frm++ = 0; *frm++ = 0; /* TODO: ATIM window */
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_input.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_input.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_input.c 2007-10-31 14:04:46.645279641 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_input.c 2007-10-31 14:04:49.437438757 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_input.c 2007-11-07 14:01:59.469340634 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_input.c 2007-11-07 14:02:02.873534629 +0100
@@ -2990,7 +2990,13 @@
return;
}
}
IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_INPUT, wh->i_addr2,
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_node.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_node.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_node.c 2007-10-31 14:04:48.753399778 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_node.c 2007-10-31 14:04:49.441438986 +0100
-@@ -1088,8 +1088,25 @@
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_node.c 2007-11-07 14:02:01.789472851 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_node.c 2007-11-07 14:02:02.873534629 +0100
+@@ -1103,8 +1103,25 @@
IEEE80211_NODE_TABLE_LOCK_ASSERT(nt);
hash = IEEE80211_NODE_HASH(macaddr);
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_linux.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_linux.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_linux.c 2007-10-31 14:04:46.593276677 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_linux.c 2007-10-31 14:04:49.705454030 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_linux.c 2007-11-07 14:01:59.417337671 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_linux.c 2007-11-07 14:02:03.137549672 +0100
@@ -333,6 +333,9 @@
k->wk_cipher->ic_name, k->wk_keyix,
(unsigned long long)rsc );
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_ccmp.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_ccmp.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_crypto_ccmp.c 2007-10-31 14:04:46.561274856 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_ccmp.c 2007-10-31 14:04:49.913465886 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_crypto_ccmp.c 2007-11-07 14:01:59.385335846 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_ccmp.c 2007-11-07 14:02:03.345561529 +0100
@@ -475,6 +475,9 @@
uint8_t *mic, *pos;
u_int space;
-Index: madwifi-ng-r2799-20071030/ath/if_athvar.h
+Index: madwifi-ng-r2834-20071106/ath/if_athvar.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_athvar.h 2007-10-31 14:04:49.429438302 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_athvar.h 2007-10-31 14:04:50.117477510 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_athvar.h 2007-11-07 14:02:02.861533944 +0100
++++ madwifi-ng-r2834-20071106/ath/if_athvar.h 2007-11-07 14:02:03.557573608 +0100
@@ -128,6 +128,11 @@
#define NETDEV_TX_BUSY 1
#endif
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:49.421437847 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:50.329489593 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:02.861533944 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:03.853590479 +0100
@@ -5834,8 +5834,9 @@
/*
* Reject error frames if we have no vaps that
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:50.329489593 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:50.577503726 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:03.853590479 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:04.077603246 +0100
@@ -4162,6 +4162,8 @@
}
bf = avp->av_bcbuf;
-Index: madwifi-ng-r2799-20071030/ath_hal/ah_os.h
+Index: madwifi-ng-r2834-20071106/ath_hal/ah_os.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath_hal/ah_os.h 2007-10-31 14:04:46.433267559 +0100
-+++ madwifi-ng-r2799-20071030/ath_hal/ah_os.h 2007-10-31 14:04:50.785515582 +0100
+--- madwifi-ng-r2834-20071106.orig/ath_hal/ah_os.h 2007-11-07 14:01:59.257328552 +0100
++++ madwifi-ng-r2834-20071106/ath_hal/ah_os.h 2007-11-07 14:02:04.329617605 +0100
@@ -172,44 +172,25 @@
* never byte-swapped by PCI chipsets or bridges, but always
* written directly (i.e. the format defined by the manufacturer).
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:50.577503726 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:50.997527661 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:04.077603246 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:04.537629461 +0100
@@ -75,7 +75,7 @@
#include <net80211/if_llc.h>
#endif
#include "net80211/if_athproto.h"
#include "if_athvar.h"
-Index: madwifi-ng-r2799-20071030/ath_rate/amrr/amrr.c
+Index: madwifi-ng-r2834-20071106/ath_rate/amrr/amrr.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath_rate/amrr/amrr.c 2007-10-31 14:04:46.353263000 +0100
-+++ madwifi-ng-r2799-20071030/ath_rate/amrr/amrr.c 2007-10-31 14:04:51.001527890 +0100
+--- madwifi-ng-r2834-20071106.orig/ath_rate/amrr/amrr.c 2007-11-07 14:01:59.177323993 +0100
++++ madwifi-ng-r2834-20071106/ath_rate/amrr/amrr.c 2007-11-07 14:02:04.545629914 +0100
@@ -70,7 +70,7 @@
#include "amrr.h"
#ifdef AMRR_DEBUG
#define DPRINTF(sc, _fmt, ...) do { \
if (sc->sc_debug & 0x10) \
-Index: madwifi-ng-r2799-20071030/ath_rate/minstrel/minstrel.c
+Index: madwifi-ng-r2834-20071106/ath_rate/minstrel/minstrel.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath_rate/minstrel/minstrel.c 2007-10-31 14:04:48.537387466 +0100
-+++ madwifi-ng-r2799-20071030/ath_rate/minstrel/minstrel.c 2007-10-31 14:04:51.009528346 +0100
+--- madwifi-ng-r2834-20071106.orig/ath_rate/minstrel/minstrel.c 2007-11-07 14:02:01.169437517 +0100
++++ madwifi-ng-r2834-20071106/ath_rate/minstrel/minstrel.c 2007-11-07 14:02:04.549630142 +0100
@@ -117,7 +117,7 @@
#include "minstrel.h"
#ifdef MINSTREL_DEBUG
enum {
ATH_DEBUG_RATE = 0x00000010 /* rate control */
-Index: madwifi-ng-r2799-20071030/ath_rate/onoe/onoe.c
+Index: madwifi-ng-r2834-20071106/ath_rate/onoe/onoe.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath_rate/onoe/onoe.c 2007-10-31 14:04:46.369263913 +0100
-+++ madwifi-ng-r2799-20071030/ath_rate/onoe/onoe.c 2007-10-31 14:04:51.013528575 +0100
+--- madwifi-ng-r2834-20071106.orig/ath_rate/onoe/onoe.c 2007-11-07 14:01:59.193324906 +0100
++++ madwifi-ng-r2834-20071106/ath_rate/onoe/onoe.c 2007-11-07 14:02:04.553630371 +0100
@@ -66,7 +66,7 @@
#include "onoe.h"
#ifdef ONOE_DEBUG
enum {
ATH_DEBUG_RATE = 0x00000010, /* rate control */
-Index: madwifi-ng-r2799-20071030/ath_rate/sample/sample.c
+Index: madwifi-ng-r2834-20071106/ath_rate/sample/sample.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath_rate/sample/sample.c 2007-10-31 14:04:46.377264368 +0100
-+++ madwifi-ng-r2799-20071030/ath_rate/sample/sample.c 2007-10-31 14:04:51.017528801 +0100
+--- madwifi-ng-r2834-20071106.orig/ath_rate/sample/sample.c 2007-11-07 14:01:59.201325359 +0100
++++ madwifi-ng-r2834-20071106/ath_rate/sample/sample.c 2007-11-07 14:02:04.557630601 +0100
@@ -68,7 +68,7 @@
#include "sample.h"
#ifdef SAMPLE_DEBUG
enum {
ATH_DEBUG_NODE = 0x00080000, /* node management */
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_var.h
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_var.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_var.h 2007-10-31 14:04:46.385264824 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_var.h 2007-10-31 14:04:51.017528801 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_var.h 2007-11-07 14:01:59.209325817 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_var.h 2007-11-07 14:02:04.561630827 +0100
@@ -35,8 +35,8 @@
#ifndef _NET80211_IEEE80211_VAR_H_
#define _NET80211_IEEE80211_VAR_H_
/* Definitions for IEEE 802.11 drivers. */
#include <net80211/ieee80211_linux.h>
-Index: madwifi-ng-r2799-20071030/tools/do_multi.c
+Index: madwifi-ng-r2834-20071106/tools/do_multi.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/do_multi.c 2007-10-31 14:04:47.557331616 +0100
-+++ madwifi-ng-r2799-20071030/tools/do_multi.c 2007-10-31 14:04:51.017528801 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/do_multi.c 2007-11-07 14:02:00.197382122 +0100
++++ madwifi-ng-r2834-20071106/tools/do_multi.c 2007-11-07 14:02:04.565631053 +0100
@@ -9,16 +9,20 @@
progname = basename(argv[0]);
if(strcmp(progname, "athkey") == 0)
ret = athkey_init(argc, argv);
if(strcmp(progname, "athstats") == 0)
-Index: madwifi-ng-r2799-20071030/tools/Makefile
+Index: madwifi-ng-r2834-20071106/tools/Makefile
===================================================================
---- madwifi-ng-r2799-20071030.orig/tools/Makefile 2007-10-31 14:04:47.561331846 +0100
-+++ madwifi-ng-r2799-20071030/tools/Makefile 2007-10-31 14:04:51.017528801 +0100
+--- madwifi-ng-r2834-20071106.orig/tools/Makefile 2007-11-07 14:02:00.197382122 +0100
++++ madwifi-ng-r2834-20071106/tools/Makefile 2007-11-07 14:02:04.565631053 +0100
@@ -48,7 +48,7 @@
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:50.997527661 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:51.313545672 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:04.537629461 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:04.865648150 +0100
@@ -170,7 +170,7 @@
int, u_int64_t);
static void ath_setdefantenna(struct ath_softc *, u_int);
unsigned int i;
/* XXX return value */
-@@ -9336,9 +9417,9 @@
+@@ -9343,9 +9424,9 @@
dev->mtu = mtu;
if ((dev->flags & IFF_RUNNING) && !sc->sc_invalid) {
/* NB: the rx buffers may need to be reallocated */
}
ATH_UNLOCK(sc);
-Index: madwifi-ng-r2799-20071030/ath/if_athvar.h
+Index: madwifi-ng-r2834-20071106/ath/if_athvar.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_athvar.h 2007-10-31 14:04:50.117477510 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_athvar.h 2007-10-31 14:04:51.317545898 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_athvar.h 2007-11-07 14:02:03.557573608 +0100
++++ madwifi-ng-r2834-20071106/ath/if_athvar.h 2007-11-07 14:02:04.865648150 +0100
@@ -50,6 +50,10 @@
#include <asm/io.h>
#include <linux/list.h>
#define ATH_RXBUF_LOCK_INIT(_sc) spin_lock_init(&(_sc)->sc_rxbuflock)
#define ATH_RXBUF_LOCK_DESTROY(_sc)
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_input.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_input.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_input.c 2007-10-31 14:04:49.437438757 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_input.c 2007-10-31 14:04:51.325546356 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_input.c 2007-11-07 14:02:02.873534629 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_input.c 2007-11-07 14:02:04.873648608 +0100
@@ -1128,8 +1128,9 @@
if (ni->ni_vlan != 0 && vap->iv_vlgrp != NULL) {
/* attach vlan tag */
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:51.313545672 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:51.569560260 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:04.865648150 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:05.117662515 +0100
@@ -2693,7 +2693,7 @@
/* NB: use this lock to protect an->an_tx_ffbuf (and txq->axq_stageq)
* in athff_can_aggregate() call too.
ff_flush_done:
ff_bypass:
-Index: madwifi-ng-r2799-20071030/ath/if_athvar.h
+Index: madwifi-ng-r2834-20071106/ath/if_athvar.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_athvar.h 2007-10-31 14:04:51.317545898 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_athvar.h 2007-10-31 14:04:51.569560260 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_athvar.h 2007-11-07 14:02:04.865648150 +0100
++++ madwifi-ng-r2834-20071106/ath/if_athvar.h 2007-11-07 14:02:05.117662515 +0100
@@ -504,6 +504,8 @@
#define ATH_TXQ_INTR_PERIOD 5 /* axq_intrcnt period for intr gen */
#define ATH_TXQ_LOCK_INIT(_tq) spin_lock_init(&(_tq)->axq_lock)
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:51.569560260 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:51.797573253 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:05.117662515 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:05.345675505 +0100
@@ -3519,7 +3519,9 @@
rfilt |= HAL_RX_FILTER_PROM;
if (ic->ic_opmode == IEEE80211_M_STA ||
rfilt |= HAL_RX_FILTER_BEACON;
if ((sc->sc_nmonvaps > 0) || ((sc->sc_nvaps > 0) && (sc->sc_nibssvaps > 0)))
rfilt |= (HAL_RX_FILTER_CONTROL | HAL_RX_FILTER_BEACON |
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_input.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_input.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_input.c 2007-10-31 14:04:51.325546356 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_input.c 2007-10-31 14:04:51.801573482 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_input.c 2007-11-07 14:02:04.873648608 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_input.c 2007-11-07 14:02:05.349675734 +0100
@@ -321,11 +321,12 @@
bssid = wh->i_addr3;
}
/*
* If scanning, just pass information to the scan module.
*/
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_node.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_node.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_node.c 2007-10-31 14:04:49.441438986 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_node.c 2007-10-31 14:04:51.805573711 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_node.c 2007-11-07 14:02:02.873534629 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_node.c 2007-11-07 14:02:05.357676193 +0100
@@ -332,10 +332,16 @@
/* Update country ie information */
ieee80211_build_countryie(ic);
(void) ieee80211_sta_join1(PASS_NODE(ni));
}
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_proto.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_proto.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_proto.c 2007-10-31 14:04:46.217255250 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_proto.c 2007-10-31 14:04:51.809573937 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_proto.c 2007-11-07 14:01:59.041316241 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_proto.c 2007-11-07 14:02:05.357676193 +0100
@@ -586,6 +586,28 @@
{ 4, { 2, 4, 11, 22 } }, /* IEEE80211_MODE_TURBO_G (mixed b/g) */
};
/*
* Mark the basic rates for the 11g rate table based on the
* specified mode. For 11b compatibility we mark only 11b
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_var.h
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_var.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_var.h 2007-10-31 14:04:51.017528801 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_var.h 2007-10-31 14:04:51.809573937 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_var.h 2007-11-07 14:02:04.561630827 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_var.h 2007-11-07 14:02:05.361676419 +0100
@@ -592,6 +592,8 @@
void ieee80211_build_countryie(struct ieee80211com *);
int ieee80211_media_setup(struct ieee80211com *, struct ifmedia *, u_int32_t,
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:51.797573253 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:52.073588984 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:05.345675505 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:05.625691466 +0100
@@ -5743,6 +5743,7 @@
u_int64_t rs_tsf;
u_int processed = 0, early_stop = 0;
DPRINTF(sc, ATH_DEBUG_RX_PROC, "%s\n", __func__);
process_rx_again:
-@@ -5839,24 +5840,7 @@
+@@ -5839,24 +5840,8 @@
}
if (rs->rs_status & HAL_RXERR_MIC) {
sc->sc_stats.ast_rx_badmic++;
-#endif
- }
+ mic_fail = 1;
++ goto rx_accept;
}
/*
* Reject error frames if we have no vaps that
-@@ -5920,8 +5904,9 @@
+@@ -5920,8 +5905,9 @@
/*
* Finished monitor mode handling, now reject
* error frames before passing to other vaps
dev_kfree_skb(skb);
skb = NULL;
goto rx_next;
-@@ -5952,6 +5937,27 @@
- sc->sc_hwmap[rs->rs_rate].ieeerate,
- rs->rs_rssi);
+@@ -5930,6 +5916,26 @@
+ /* remove the CRC */
+ skb_trim(skb, skb->len - IEEE80211_CRC_LEN);
-+ /* MIC failure. Drop the packet in any case */
+ if (mic_fail) {
+ /* Ignore control frames which are reported with mic error */
+ if ((((struct ieee80211_frame *)skb->data)->i_fc[0] &
+ skb = NULL;
+ mic_fail = 0;
+ goto rx_next;
-+ }
++ }
+
+ /*
+ * From this point on we assume the frame is at least
+ * as large as ieee80211_frame_min; verify that.
+@@ -5952,6 +5958,7 @@
+ sc->sc_hwmap[rs->rs_rate].ieeerate,
+ rs->rs_rssi);
+
++ /* MIC failure. Drop the packet in any case */
/*
* Locate the node for sender, track state, and then
* pass the (referenced) node up to the 802.11 layer
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_ccmp.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_ccmp.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_crypto_ccmp.c 2007-10-31 14:04:49.913465886 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_ccmp.c 2007-10-31 14:04:52.073588984 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_crypto_ccmp.c 2007-11-07 14:02:03.345561529 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_ccmp.c 2007-11-07 14:02:05.625691466 +0100
@@ -73,7 +73,7 @@
static int ccmp_encap(struct ieee80211_key *, struct sk_buff *, u_int8_t);
static int ccmp_decap(struct ieee80211_key *, struct sk_buff *, int);
{
return 1;
}
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_crypto.h
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_crypto.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_crypto.h 2007-10-31 14:04:46.109249096 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_crypto.h 2007-10-31 14:04:52.073588984 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_crypto.h 2007-11-07 14:01:58.929309860 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_crypto.h 2007-11-07 14:02:05.633691920 +0100
@@ -145,7 +145,7 @@
int (*ic_encap)(struct ieee80211_key *, struct sk_buff *, u_int8_t);
int (*ic_decap)(struct ieee80211_key *, struct sk_buff *, int);
}
/*
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_none.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_none.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_crypto_none.c 2007-10-31 14:04:46.113249322 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_none.c 2007-10-31 14:04:52.073588984 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_crypto_none.c 2007-11-07 14:01:58.937310316 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_none.c 2007-11-07 14:02:05.633691920 +0100
@@ -52,7 +52,7 @@
static int none_encap(struct ieee80211_key *, struct sk_buff *, u_int8_t);
static int none_decap(struct ieee80211_key *, struct sk_buff *, int);
{
struct ieee80211vap *vap = k->wk_private;
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_tkip.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_tkip.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_crypto_tkip.c 2007-10-31 14:04:46.121249780 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_tkip.c 2007-10-31 14:04:52.077589210 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_crypto_tkip.c 2007-11-07 14:01:58.945310770 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_tkip.c 2007-11-07 14:02:05.633691920 +0100
@@ -57,7 +57,7 @@
static int tkip_encap(struct ieee80211_key *, struct sk_buff *, u_int8_t);
static int tkip_enmic(struct ieee80211_key *, struct sk_buff *, int);
struct ieee80211vap *vap = ctx->tc_vap;
u8 mic[IEEE80211_WEP_MICLEN];
u8 mic0[IEEE80211_WEP_MICLEN];
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_wep.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_wep.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_crypto_wep.c 2007-10-31 14:04:46.129250236 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_crypto_wep.c 2007-10-31 14:04:52.077589210 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_crypto_wep.c 2007-11-07 14:01:58.953311229 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_crypto_wep.c 2007-11-07 14:02:05.633691920 +0100
@@ -54,7 +54,7 @@
static int wep_encap(struct ieee80211_key *, struct sk_buff *, u_int8_t);
static int wep_decap(struct ieee80211_key *, struct sk_buff *, int);
{
return 1;
}
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_input.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_input.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_input.c 2007-10-31 14:04:51.801573482 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_input.c 2007-10-31 14:04:52.081589439 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_input.c 2007-11-07 14:02:05.349675734 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_input.c 2007-11-07 14:02:05.637692150 +0100
@@ -632,7 +632,7 @@
* Next strip any MSDU crypto bits.
*/
#ifdef IEEE80211_DEBUG
/*
* Debugging support.
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_proto.h
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_proto.h
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_proto.h 2007-10-31 14:04:46.141250920 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_proto.h 2007-10-31 14:04:52.081589439 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_proto.h 2007-11-07 14:01:58.965311910 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_proto.h 2007-11-07 14:02:05.637692150 +0100
@@ -91,6 +91,7 @@
void ieee80211_set11gbasicrates(struct ieee80211_rateset *, enum ieee80211_phymode);
enum ieee80211_phymode ieee80211_get11gbasicrates(struct ieee80211_rateset *);
/*
* Return the size of the 802.11 header for a management or data frame.
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_linux.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_linux.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_linux.c 2007-10-31 14:04:49.705454030 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_linux.c 2007-10-31 14:04:52.081589439 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_linux.c 2007-11-07 14:02:03.137549672 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_linux.c 2007-11-07 14:02:05.641692376 +0100
@@ -339,8 +339,8 @@
/* TODO: needed parameters: count, keyid, key type, src address, TSC */
snprintf(buf, sizeof(buf), "%s(keyid=%d %scast addr=%s)", tag,
memset(&wrqu, 0, sizeof(wrqu));
wrqu.data.length = strlen(buf);
wireless_send_event(dev, IWEVCUSTOM, &wrqu, buf);
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_output.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_output.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_output.c 2007-10-31 14:04:46.157251830 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_output.c 2007-10-31 14:04:52.081589439 +0100
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_output.c 2007-11-07 14:01:58.981312821 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_output.c 2007-11-07 14:02:05.641692376 +0100
@@ -1079,13 +1079,16 @@
cip = (struct ieee80211_cipher *) key->wk_cipher;
ciphdrsize = cip->ic_header;
/*
* Allocate sk_buff for each subsequent fragment; First fragment
-Index: madwifi-ng-r2799-20071030/net80211/ieee80211_node.c
+Index: madwifi-ng-r2834-20071106/net80211/ieee80211_node.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/net80211/ieee80211_node.c 2007-10-31 14:04:51.805573711 +0100
-+++ madwifi-ng-r2799-20071030/net80211/ieee80211_node.c 2007-10-31 14:04:52.085589669 +0100
-@@ -1884,11 +1884,13 @@
+--- madwifi-ng-r2834-20071106.orig/net80211/ieee80211_node.c 2007-11-07 14:02:05.357676193 +0100
++++ madwifi-ng-r2834-20071106/net80211/ieee80211_node.c 2007-11-07 14:02:05.645692605 +0100
+@@ -1899,11 +1899,13 @@
/* From this point onwards we can no longer find the node,
* so no more references are generated
*/
-Index: madwifi-ng-r2799-20071030/ath/if_ath.c
+Index: madwifi-ng-r2834-20071106/ath/if_ath.c
===================================================================
---- madwifi-ng-r2799-20071030.orig/ath/if_ath.c 2007-10-31 14:04:52.073588984 +0100
-+++ madwifi-ng-r2799-20071030/ath/if_ath.c 2007-10-31 14:04:52.417608587 +0100
+--- madwifi-ng-r2834-20071106.orig/ath/if_ath.c 2007-11-07 14:02:05.625691466 +0100
++++ madwifi-ng-r2834-20071106/ath/if_ath.c 2007-11-07 14:02:06.001712892 +0100
@@ -1417,7 +1417,6 @@
* Wireshark and Kismet.
*/
ATH_RXBUF_LOCK_IRQ(sc);
if (sc->sc_rxbufcur == NULL)
-@@ -8174,6 +8173,7 @@
+@@ -8182,6 +8181,7 @@
struct net_device *dev = (struct net_device *) arg;
struct ath_softc *sc = dev->priv;
struct ath_hal *ah = sc->sc_ah;
/* u_int32_t nchans; */
HAL_BOOL isIQdone = AH_FALSE;
-@@ -8202,6 +8202,7 @@
+@@ -8210,6 +8210,7 @@
ath_calinterval = ATH_LONG_CALINTERVAL;
else
ath_calinterval = ATH_SHORT_CALINTERVAL;
sc->sc_cal_ch.expires = jiffies + (ath_calinterval * HZ);
add_timer(&sc->sc_cal_ch);
-@@ -8252,6 +8253,7 @@
+@@ -8260,6 +8261,7 @@
struct ath_softc *sc = dev->priv;
(void) ath_chan_set(sc, ic->ic_curchan);
/*
* If we are returning to our bss channel then mark state
* so the next recv'd beacon's TSF will be used to sync the
-@@ -8466,6 +8468,7 @@
+@@ -8474,6 +8476,7 @@
}
ath_hal_process_noisefloor(ah);