diff options
Diffstat (limited to 'package')
29 files changed, 345 insertions, 668 deletions
| diff --git a/package/madwifi/Makefile b/package/madwifi/Makefile index 06b3bb6c5..8b92f660e 100644 --- a/package/madwifi/Makefile +++ b/package/madwifi/Makefile @@ -10,13 +10,13 @@ include $(TOPDIR)/rules.mk  include $(INCLUDE_DIR)/kernel.mk  PKG_NAME:=madwifi -PKG_VERSION:=r2568-20070710 +PKG_VERSION:=r2756-20071018  PKG_BRANCH:=madwifi-ng -PKG_RELEASE:=2 +PKG_RELEASE:=1  PKG_SOURCE:=$(PKG_BRANCH)-$(PKG_VERSION).tar.gz  PKG_SOURCE_URL:=http://snapshots.madwifi.org/$(PKG_BRANCH) -PKG_MD5SUM:=fe5d41acd085d2c46934be3f8839e694 +PKG_MD5SUM:=6141c846fec12b3d0c80409c81eebc39  PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_BRANCH)-$(PKG_VERSION) diff --git a/package/madwifi/patches/100-kernel_cflags.patch b/package/madwifi/patches/100-kernel_cflags.patch index 2c3016f08..5f1e70b79 100644 --- a/package/madwifi/patches/100-kernel_cflags.patch +++ b/package/madwifi/patches/100-kernel_cflags.patch @@ -1,7 +1,7 @@ -Index: madwifi-ng-r2568-20070710/hal/public/mips-be-elf.inc +Index: madwifi-ng-r2756-20071018/hal/public/mips-be-elf.inc  =================================================================== ---- madwifi-ng-r2568-20070710.orig/hal/public/mips-be-elf.inc	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/hal/public/mips-be-elf.inc	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/hal/public/mips-be-elf.inc	2007-10-24 06:20:16.897652218 +0200 ++++ madwifi-ng-r2756-20071018/hal/public/mips-be-elf.inc	2007-10-24 06:20:16.989657465 +0200  @@ -71,5 +71,5 @@   LDOPTS=	-EB @@ -9,10 +9,10 @@ Index: madwifi-ng-r2568-20070710/hal/public/mips-be-elf.inc  -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-r2568-20070710/hal/public/mips-le-elf.inc +Index: madwifi-ng-r2756-20071018/hal/public/mips-le-elf.inc  =================================================================== ---- madwifi-ng-r2568-20070710.orig/hal/public/mips-le-elf.inc	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/hal/public/mips-le-elf.inc	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/hal/public/mips-le-elf.inc	2007-10-24 06:20:16.901652447 +0200 ++++ madwifi-ng-r2756-20071018/hal/public/mips-le-elf.inc	2007-10-24 06:20:17.001658146 +0200  @@ -68,5 +68,5 @@   LDOPTS=	-EL @@ -20,10 +20,10 @@ Index: madwifi-ng-r2568-20070710/hal/public/mips-le-elf.inc  -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-r2568-20070710/hal/public/xscale-be-elf.inc +Index: madwifi-ng-r2756-20071018/hal/public/xscale-be-elf.inc  =================================================================== ---- madwifi-ng-r2568-20070710.orig/hal/public/xscale-be-elf.inc	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/hal/public/xscale-be-elf.inc	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/hal/public/xscale-be-elf.inc	2007-10-24 06:20:16.913653133 +0200 ++++ madwifi-ng-r2756-20071018/hal/public/xscale-be-elf.inc	2007-10-24 06:20:17.005658375 +0200  @@ -77,5 +77,5 @@   LDOPTS=	-EB diff --git a/package/madwifi/patches/102-multicall_binary.patch b/package/madwifi/patches/102-multicall_binary.patch index f5bfc5179..4937ee33a 100644 --- a/package/madwifi/patches/102-multicall_binary.patch +++ b/package/madwifi/patches/102-multicall_binary.patch @@ -1,7 +1,7 @@ -Index: madwifi-ng-r2568-20070710/tools/80211debug.c +Index: madwifi-ng-r2756-20071018/tools/80211debug.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/80211debug.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/80211debug.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/tools/80211debug.c	2007-10-24 06:20:16.793646294 +0200 ++++ madwifi-ng-r2756-20071018/tools/80211debug.c	2007-10-24 06:20:17.233671372 +0200  @@ -49,6 +49,10 @@   #include <getopt.h>   #include <err.h> @@ -12,7 +12,7 @@ Index: madwifi-ng-r2568-20070710/tools/80211debug.c  +   #define	N(a)	(sizeof(a)/sizeof(a[0])) - const char *progname; + static const char *progname;  @@ -180,9 +184,19 @@   }   #endif /* __linux__ */ @@ -33,10 +33,10 @@ Index: madwifi-ng-r2568-20070710/tools/80211debug.c   	const char *ifname = "ath0";   	const char *cp, *tp;   	const char *sep; -Index: madwifi-ng-r2568-20070710/tools/80211stats.c +Index: madwifi-ng-r2756-20071018/tools/80211stats.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/80211stats.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/80211stats.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/tools/80211stats.c	2007-10-24 06:20:16.801646748 +0200 ++++ madwifi-ng-r2756-20071018/tools/80211stats.c	2007-10-24 06:20:17.233671372 +0200  @@ -60,6 +60,10 @@   #include "net80211/ieee80211_crypto.h"   #include "net80211/ieee80211_ioctl.h" @@ -48,7 +48,7 @@ Index: madwifi-ng-r2568-20070710/tools/80211stats.c   #ifndef SIOCG80211STATS   #define	SIOCG80211STATS	(SIOCDEVPRIVATE + 2)   #endif -@@ -243,9 +247,19 @@ +@@ -241,9 +245,19 @@   #undef STAT   } @@ -68,10 +68,10 @@ Index: madwifi-ng-r2568-20070710/tools/80211stats.c   	int c, len;   	struct ieee80211req_sta_info *si;   	u_int8_t buf[24*1024], *cp; -Index: madwifi-ng-r2568-20070710/tools/athchans.c +Index: madwifi-ng-r2756-20071018/tools/athchans.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/athchans.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/athchans.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/tools/athchans.c	2007-10-24 06:20:16.805646977 +0200 ++++ madwifi-ng-r2756-20071018/tools/athchans.c	2007-10-24 06:20:17.241671823 +0200  @@ -59,6 +59,10 @@   #include "net80211/ieee80211_crypto.h"   #include "net80211/ieee80211_ioctl.h" @@ -81,9 +81,9 @@ Index: madwifi-ng-r2568-20070710/tools/athchans.c  +#endif  +   static	int s = -1; - const char *progname; + static const char *progname; -@@ -138,9 +142,20 @@ +@@ -139,9 +143,20 @@   }   #define	MAXCHAN	((int)(sizeof(struct ieee80211req_chanlist) * NBBY)) @@ -104,10 +104,10 @@ Index: madwifi-ng-r2568-20070710/tools/athchans.c   	const char *ifname = "wifi0";   	struct ieee80211req_chanlist chanlist;   	int c; -Index: madwifi-ng-r2568-20070710/tools/athctrl.c +Index: madwifi-ng-r2756-20071018/tools/athctrl.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/athctrl.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/athctrl.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/tools/athctrl.c	2007-10-24 06:20:16.813647434 +0200 ++++ madwifi-ng-r2756-20071018/tools/athctrl.c	2007-10-24 06:20:17.245672052 +0200  @@ -53,6 +53,10 @@   #include <net/if.h> @@ -139,10 +139,10 @@ Index: madwifi-ng-r2568-20070710/tools/athctrl.c   	char device[IFNAMSIZ + 1];   	int distance = -1;   	int c; -Index: madwifi-ng-r2568-20070710/tools/athdebug.c +Index: madwifi-ng-r2756-20071018/tools/athdebug.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/athdebug.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/athdebug.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/tools/athdebug.c	2007-10-24 06:20:16.821647888 +0200 ++++ madwifi-ng-r2756-20071018/tools/athdebug.c	2007-10-24 06:20:17.249672281 +0200  @@ -52,6 +52,10 @@   #include <getopt.h>   #include <err.h> @@ -153,8 +153,8 @@ Index: madwifi-ng-r2568-20070710/tools/athdebug.c  +   #define	N(a)	(sizeof(a)/sizeof(a[0])) - const char *progname; -@@ -179,9 +183,20 @@ + static const char *progname; +@@ -187,9 +191,20 @@   }   #endif /* __linux__ */ @@ -175,10 +175,10 @@ Index: madwifi-ng-r2568-20070710/tools/athdebug.c   #ifdef __linux__   	const char *ifname = "wifi0";   #else -Index: madwifi-ng-r2568-20070710/tools/athkey.c +Index: madwifi-ng-r2756-20071018/tools/athkey.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/athkey.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/athkey.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/tools/athkey.c	2007-10-24 06:20:16.825648116 +0200 ++++ madwifi-ng-r2756-20071018/tools/athkey.c	2007-10-24 06:20:17.249672281 +0200  @@ -59,6 +59,10 @@   #include "net80211/ieee80211_crypto.h"   #include "net80211/ieee80211_ioctl.h" @@ -188,9 +188,9 @@ Index: madwifi-ng-r2568-20070710/tools/athkey.c  +#endif  +   static int s = -1; - const char *progname; + static const char *progname; -@@ -211,9 +215,19 @@ +@@ -212,9 +216,19 @@   	exit(-1);   } @@ -210,10 +210,10 @@ Index: madwifi-ng-r2568-20070710/tools/athkey.c   	const char *ifname = "wifi0";   	struct ieee80211req_key setkey;   	struct ieee80211req_del_key delkey; -Index: madwifi-ng-r2568-20070710/tools/athstats.c +Index: madwifi-ng-r2756-20071018/tools/athstats.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/athstats.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/athstats.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/tools/athstats.c	2007-10-24 06:20:16.833648573 +0200 ++++ madwifi-ng-r2756-20071018/tools/athstats.c	2007-10-24 06:20:17.249672281 +0200  @@ -63,6 +63,10 @@   #include "wireless_copy.h"   #include "if_athioctl.h" @@ -246,11 +246,11 @@ Index: madwifi-ng-r2568-20070710/tools/athstats.c   #ifdef __linux__   	const char *ifname = "wifi0";   #else -Index: madwifi-ng-r2568-20070710/tools/do_multi.c +Index: madwifi-ng-r2756-20071018/tools/do_multi.c  ===================================================================  --- /dev/null	1970-01-01 00:00:00.000000000 +0000 -+++ madwifi-ng-r2568-20070710/tools/do_multi.c	2007-10-20 20:52:46.000000000 +0200 -@@ -0,0 +1,30 @@ ++++ madwifi-ng-r2756-20071018/tools/do_multi.c	2007-10-24 06:20:17.249672281 +0200 +@@ -0,0 +1,32 @@  +#include <string.h>  +#include "do_multi.h"  + @@ -278,14 +278,16 @@ Index: madwifi-ng-r2568-20070710/tools/do_multi.c  +	ret =  athstats_init(argc, argv);  +    if(strcmp(progname, "wlanconfig") == 0)  +	ret =  wlanconfig_init(argc, argv); ++    if(strcmp(progname, "ath_info") == 0) ++	ret =  athinfo_init(argc, argv);  +  +    return ret;  +} -Index: madwifi-ng-r2568-20070710/tools/do_multi.h +Index: madwifi-ng-r2756-20071018/tools/do_multi.h  ===================================================================  --- /dev/null	1970-01-01 00:00:00.000000000 +0000 -+++ madwifi-ng-r2568-20070710/tools/do_multi.h	2007-10-20 20:52:09.000000000 +0200 -@@ -0,0 +1,9 @@ ++++ madwifi-ng-r2756-20071018/tools/do_multi.h	2007-10-24 06:20:17.249672281 +0200 +@@ -0,0 +1,10 @@  +  +int a80211debug_init(int argc, char *argv[]);  +int a80211stats_init(int argc, char *argv[]); @@ -295,31 +297,54 @@ Index: madwifi-ng-r2568-20070710/tools/do_multi.h  +int athkey_init(int argc, char *argv[]);  +int athstats_init(int argc, char *argv[]);  +int wlanconfig_init(int argc, char *argv[]); -Index: madwifi-ng-r2568-20070710/tools/Makefile ++int athinfo_init(int argc, char *argv[]); +Index: madwifi-ng-r2756-20071018/tools/Makefile  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/Makefile	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/Makefile	2007-10-20 20:52:46.000000000 +0200 -@@ -49,6 +49,12 @@ +--- madwifi-ng-r2756-20071018.orig/tools/Makefile	2007-10-24 06:20:16.849649487 +0200 ++++ madwifi-ng-r2756-20071018/tools/Makefile	2007-10-24 06:20:17.253672511 +0200 +@@ -47,9 +47,12 @@ + endif - ALL=	athstats 80211stats athkey athchans athctrl \ - 	athdebug 80211debug wlanconfig -+	 -+ifdef DOMULTI -+OBJS=	do_multi.o athstats.o 80211stats.o athkey.o athchans.o athctrl.o \ -+	athdebug.o 80211debug.o wlanconfig.o -+ALL=	${OBJS} madwifi_multi -+endif +-ALL=	athstats 80211stats athkey athchans athctrl \ ++ALLPROGS=	athstats 80211stats athkey athchans athctrl \ + 	athdebug 80211debug wlanconfig ath_info +  ++OBJS=	$(patsubst %,%.o,$(ALLPROGS) do_multi) ++ALL=	${OBJS} madwifi_multi ++   all:	$(ALL) -@@ -59,6 +65,30 @@ + INCS=	-I. -I$(HAL) -I$(TOP) -I$(ATH_HAL) +@@ -59,25 +62,31 @@   all:	$(ALL) +-athstats: athstats.c +-	$(CC) -o athstats $(ALL_CFLAGS) -I$(TOP)/ath $(LDFLAGS) athstats.c +-80211stats: 80211stats.c +-	$(CC) -o 80211stats $(ALL_CFLAGS) $(LDFLAGS) 80211stats.c +-athkey: athkey.c +-	$(CC) -o athkey $(ALL_CFLAGS) $(LDFLAGS) athkey.c +-athchans: athchans.c +-	$(CC) -o athchans $(ALL_CFLAGS) $(LDFLAGS) athchans.c +-athctrl: athctrl.c +-	$(CC) -o athctrl $(ALL_CFLAGS) $(LDFLAGS) athctrl.c +-athdebug: athdebug.c +-	$(CC) -o athdebug $(ALL_CFLAGS) $(LDFLAGS) athdebug.c +-wlanconfig: wlanconfig.c +-	$(CC) -o wlanconfig $(ALL_CFLAGS) $(LDFLAGS) wlanconfig.c +-80211debug: 80211debug.c +-	$(CC) -o 80211debug $(ALL_CFLAGS) $(LDFLAGS) 80211debug.c +-ath_info: ath_info.c +-	$(CC) -o ath_info $(CFLAGS) ath_info.c +-  +athstats.o: athstats.c  +	${CC} -c -o athstats.o -DDOMULTI=1 ${ALL_CFLAGS} -I../ath athstats.c  +80211stats.o: 80211stats.c  +	${CC} -c -o 80211stats.o -DDOMULTI=1 ${ALL_CFLAGS} 80211stats.c ++ath_info.o: ath_info.c ++	${CC} -c -o ath_info.o -DDOMULTI=1 ${ALL_CFLAGS} ath_info.c  +athkey.o: athkey.c  +	${CC} -c -o athkey.o -DDOMULTI=1 ${ALL_CFLAGS} athkey.c  +athchans.o: athchans.c @@ -334,19 +359,18 @@ Index: madwifi-ng-r2568-20070710/tools/Makefile  +	${CC} -c -o 80211debug.o -DDOMULTI=1 ${ALL_CFLAGS} 80211debug.c  +do_multi.o: do_multi.c  +	${CC} -c -o do_multi.o -DDOMULTI=1 ${ALL_CFLAGS} do_multi.c -+madwifi_multi: ++madwifi_multi: $(OBJS)  +	${CC} -o madwifi_multi ${LDFLAGS} ${OBJS}  +	for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \  +	ln -s -f madwifi_multi $$i; \  +	done -+ - athstats: athstats.c - 	$(CC) -o athstats $(ALL_CFLAGS) -I$(TOP)/ath $(LDFLAGS) athstats.c - 80211stats: 80211stats.c -Index: madwifi-ng-r2568-20070710/tools/wlanconfig.c +  + install: $(ALL)  + 	install -d $(DESTDIR)$(BINDIR) +Index: madwifi-ng-r2756-20071018/tools/wlanconfig.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/wlanconfig.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/wlanconfig.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/tools/wlanconfig.c	2007-10-24 06:20:16.857649938 +0200 ++++ madwifi-ng-r2756-20071018/tools/wlanconfig.c	2007-10-24 06:20:17.253672511 +0200  @@ -62,6 +62,10 @@   #include "net80211/ieee80211_crypto.h"   #include "net80211/ieee80211_ioctl.h" @@ -360,7 +384,7 @@ Index: madwifi-ng-r2568-20070710/tools/wlanconfig.c    */  @@ -96,9 +100,19 @@ - int verbose = 0; + static int verbose = 0;  +#ifdef DOMULTI  + @@ -378,3 +402,21 @@ Index: madwifi-ng-r2568-20070710/tools/wlanconfig.c   	const char *ifname, *cmd;   	unsigned char bnounit = 0;   	char *if_base = NULL; +Index: madwifi-ng-r2756-20071018/tools/ath_info.c +=================================================================== +--- madwifi-ng-r2756-20071018.orig/tools/ath_info.c	2007-10-24 06:20:16.865650396 +0200 ++++ madwifi-ng-r2756-20071018/tools/ath_info.c	2007-10-24 06:20:17.253672511 +0200 +@@ -722,8 +722,13 @@ + 		"unlawful radio transmissions!\n\n"); + } +  ++#ifdef DOMULTI ++int ++athinfo_init(int argc, char *argv[]) ++#else + int + main(int argc, char *argv[]) ++#endif + { + 	u_int32_t dev_addr; + 	u_int16_t eeprom_header, srev, phy_rev_5ghz, phy_rev_2ghz; diff --git a/package/madwifi/patches/104-autocreate_none.patch b/package/madwifi/patches/104-autocreate_none.patch index ca3af4aab..f6f0210a9 100644 --- a/package/madwifi/patches/104-autocreate_none.patch +++ b/package/madwifi/patches/104-autocreate_none.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:53:15.000000000 +0200 -@@ -427,7 +427,7 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:16.761644468 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:17.585691429 +0200 +@@ -426,7 +426,7 @@   	HAL_STATUS status;   	int error = 0;   	unsigned int i; diff --git a/package/madwifi/patches/105-ratectl_attach.patch b/package/madwifi/patches/105-ratectl_attach.patch index 6963900a4..094c3c56d 100644 --- a/package/madwifi/patches/105-ratectl_attach.patch +++ b/package/madwifi/patches/105-ratectl_attach.patch @@ -1,7 +1,7 @@ -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_rate.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_rate.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_rate.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_rate.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_rate.c	2007-10-24 06:20:16.729642648 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_rate.c	2007-10-24 06:20:17.797703513 +0200  @@ -100,8 +100,18 @@   		ieee80211_load_module(buf); diff --git a/package/madwifi/patches/110-init_fix_PR_914.patch b/package/madwifi/patches/110-init_fix_PR_914.patch index bbdce0fe0..a903e70b4 100644 --- a/package/madwifi/patches/110-init_fix_PR_914.patch +++ b/package/madwifi/patches/110-init_fix_PR_914.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:53:12.000000000 +0200 -@@ -1988,7 +1988,10 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:17.585691429 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:18.005715364 +0200 +@@ -2122,7 +2122,10 @@   		ath_draintxq(sc);   		if (!sc->sc_invalid) {   			ath_stoprecv(sc); diff --git a/package/madwifi/patches/111-minstrel_crash.patch b/package/madwifi/patches/111-minstrel_crash.patch index d860cb0bf..562c33602 100644 --- a/package/madwifi/patches/111-minstrel_crash.patch +++ b/package/madwifi/patches/111-minstrel_crash.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c +Index: madwifi-ng-r2756-20071018/ath_rate/minstrel/minstrel.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath_rate/minstrel/minstrel.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c	2007-10-20 20:52:49.000000000 +0200 -@@ -388,6 +388,9 @@ +--- madwifi-ng-r2756-20071018.orig/ath_rate/minstrel/minstrel.c	2007-10-24 06:20:16.665638998 +0200 ++++ madwifi-ng-r2756-20071018/ath_rate/minstrel/minstrel.c	2007-10-24 06:20:18.217727448 +0200 +@@ -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 */ @@ -10,5 +10,5 @@ Index: madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c  +			return;  +   		if (sn->is_sampling) { - 			rc1 = sn->max_tp_rate;   			sn->is_sampling = 0; + 			if (sn->rs_sample_rate_slower) diff --git a/package/madwifi/patches/112-keycache_PR_962.patch b/package/madwifi/patches/112-keycache_PR_962.patch index 46f70f1ba..955725b98 100644 --- a/package/madwifi/patches/112-keycache_PR_962.patch +++ b/package/madwifi/patches/112-keycache_PR_962.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:53:09.000000000 +0200 -@@ -5732,7 +5732,8 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:18.005715364 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:18.429739529 +0200 +@@ -5853,7 +5853,8 @@   		 * frame; it'll be dropped where it's not wanted.   		 */   		if (rs->rs_keyix != HAL_RXKEYIX_INVALID && @@ -12,10 +12,10 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			struct ath_node *an;   			/*   			 * Fast path: node is present in the key map; -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_node.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-10-20 20:53:06.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_node.c	2007-10-24 06:20:16.625636718 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_node.c	2007-10-24 06:20:18.437739986 +0200  @@ -1271,8 +1271,6 @@   	IEEE80211_NODE_TABLE_UNLOCK_IRQ(nt); @@ -46,10 +46,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c   /*    * Return a reference to the appropriate node for sending    * a data frame.  This handles node discovery in adhoc networks. -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.h +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_node.h  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.h	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.h	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_node.h	2007-10-24 06:20:16.633637175 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_node.h	2007-10-24 06:20:18.441740211 +0200  @@ -328,6 +328,8 @@   	*pni = NULL;			/* guard against use */   } diff --git a/package/madwifi/patches/113-no_ibss_pwrsave.patch b/package/madwifi/patches/113-no_ibss_pwrsave.patch index 821820a4a..c1917f38f 100644 --- a/package/madwifi/patches/113-no_ibss_pwrsave.patch +++ b/package/madwifi/patches/113-no_ibss_pwrsave.patch @@ -1,7 +1,7 @@ -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_scan.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_scan.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_scan.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_scan.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_scan.c	2007-10-24 06:20:16.585634439 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_scan.c	2007-10-24 06:20:18.673753437 +0200  @@ -291,7 +291,8 @@   	struct ieee80211com *ic = vap->iv_ic;   	int delay; diff --git a/package/madwifi/patches/116-adhoc_beacon_PR_1033.patch b/package/madwifi/patches/116-adhoc_beacon_PR_1033.patch index ec3dd94ff..3f2078e7e 100644 --- a/package/madwifi/patches/116-adhoc_beacon_PR_1033.patch +++ b/package/madwifi/patches/116-adhoc_beacon_PR_1033.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:53:06.000000000 +0200 -@@ -4426,16 +4426,31 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:18.429739529 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:18.881765287 +0200 +@@ -4559,16 +4559,31 @@   	struct ieee80211com *ic = &sc->sc_ic;   	struct ath_hal *ah = sc->sc_ah;   	struct ieee80211_node *ni; @@ -38,7 +38,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	/* XXX conditionalize multi-bss support? */   	if (ic->ic_opmode == IEEE80211_M_HOSTAP) {   		/* -@@ -4449,20 +4464,61 @@ +@@ -4582,20 +4597,61 @@   		if (sc->sc_stagbeacons)   			intval /= ATH_BCBUF;	/* for staggered beacons */   		if ((sc->sc_nostabeacons) && @@ -109,7 +109,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		int dtimperiod, dtimcount;   		int cfpperiod, cfpcount; -@@ -4478,13 +4534,13 @@ +@@ -4611,13 +4667,13 @@   			dtimcount = 0;		/* XXX? */   		cfpperiod = 1;			/* NB: no PCF support yet */   		cfpcount = 0; @@ -126,7 +126,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		do {   			nexttbtt += intval;   			if (--dtimcount < 0) { -@@ -4492,7 +4548,7 @@ +@@ -4625,7 +4681,7 @@   				if (--cfpcount < 0)   					cfpcount = cfpperiod - 1;   			} @@ -135,7 +135,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   #undef FUDGE   		memset(&bs, 0, sizeof(bs));   		bs.bs_intval = intval; -@@ -4544,7 +4600,7 @@ +@@ -4677,7 +4733,7 @@   		DPRINTF(sc, ATH_DEBUG_BEACON,   			"%s: tsf %llu tsf:tu %u intval %u nexttbtt %u dtim %u nextdtim %u bmiss %u sleep %u cfp:period %u maxdur %u next %u timoffset %u\n",   			__func__, @@ -144,7 +144,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			bs.bs_intval,   			bs.bs_nexttbtt,   			bs.bs_dtimperiod, -@@ -4566,7 +4622,7 @@ +@@ -4699,7 +4755,7 @@   		ath_hal_intrset(ah, sc->sc_imask);   	} else {   		ath_hal_intrset(ah, 0); @@ -153,7 +153,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			intval |= HAL_BEACON_RESET_TSF;   		if (ic->ic_opmode == IEEE80211_M_IBSS) {   			/* -@@ -4603,8 +4659,40 @@ +@@ -4736,8 +4792,40 @@   		if (ic->ic_opmode == IEEE80211_M_IBSS && sc->sc_hasveol)   			ath_beacon_start_adhoc(sc, vap);   	} diff --git a/package/madwifi/patches/120-soc_fix.patch b/package/madwifi/patches/120-soc_fix.patch deleted file mode 100644 index bade33995..000000000 --- a/package/madwifi/patches/120-soc_fix.patch +++ /dev/null @@ -1,46 +0,0 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath_ahb.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath_ahb.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath_ahb.c	2007-10-20 20:52:09.000000000 +0200 -@@ -275,11 +275,10 @@ -  -  - static int --exit_ath_wmac(u_int16_t wlanNum) -+exit_ath_wmac(u_int16_t wlanNum, struct ar531x_config *config) - { - 	struct ath_ahb_softc *sc = sclist[wlanNum]; - 	struct net_device *dev; --	const char *sysType; - 	u_int16_t devid; -  - 	if (sc == NULL) -@@ -289,13 +288,17 @@ - 	ath_detach(dev); - 	if (dev->irq) - 		free_irq(dev->irq, dev); --	sysType = get_system_type(); --	if (!strcmp(sysType, "Atheros AR5315")) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) -+	devid = sc->aps_sc.devid; -+	config->tag = (unsigned long) devid; -+#else -+	if (!strcmp(get_system_type(), "Atheros AR5315")) - 		devid = (u_int16_t) (sysRegRead(AR5315_SREV) & - 			(AR5315_REV_MAJ_M | AR5315_REV_MIN_M)); - 	else - 		devid = (u_int16_t) ((sysRegRead(AR531X_REV) >> 8) & - 			(AR531X_REV_MAJ | AR531X_REV_MIN)); -+#endif -  - 	ahb_disable_wmac(devid, wlanNum); - 	free_netdev(dev); -@@ -401,7 +404,7 @@ -  - static int ahb_wmac_remove(struct platform_device *pdev) - { --	exit_ath_wmac(pdev->id); -+	exit_ath_wmac(pdev->id, (struct ar531x_config *) pdev->dev.platform_data); -  - 	return 0; - } diff --git a/package/madwifi/patches/121-ibss_hostap.patch b/package/madwifi/patches/121-ibss_hostap.patch index 1beb4e95d..df7a06629 100644 --- a/package/madwifi/patches/121-ibss_hostap.patch +++ b/package/madwifi/patches/121-ibss_hostap.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:53:01.000000000 +0200 -@@ -410,7 +410,6 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:18.881765287 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:19.097777599 +0200 +@@ -409,7 +409,6 @@    * and use the next two bits as the index of the VAP.    */   #define ATH_SET_VAP_BSSID_MASK(bssid_mask)      ((bssid_mask)[0] &= ~(((ATH_BCBUF-1)<<2)|0x02)) @@ -10,7 +10,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   #define ATH_SET_VAP_BSSID(bssid, id) \   		do { \   			if (id) \ -@@ -1055,9 +1054,12 @@ +@@ -1059,9 +1058,12 @@   			ic_opmode = opmode;   		break;   	case IEEE80211_M_IBSS: @@ -26,7 +26,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		break;   	case IEEE80211_M_AHDEMO:   	case IEEE80211_M_MONITOR: -@@ -1087,7 +1089,7 @@ +@@ -1091,7 +1093,7 @@   		return NULL;   	} @@ -35,7 +35,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		printk(KERN_WARNING "too many virtual APs (already got %d)\n", sc->sc_nvaps);   		return NULL;   	} -@@ -1123,6 +1125,7 @@ +@@ -1127,6 +1129,7 @@   	if (opmode == IEEE80211_M_MONITOR)   		dev->type = ARPHRD_IEEE80211_RADIOTAP; @@ -43,7 +43,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	if ((flags & IEEE80211_CLONE_BSSID) &&   	    opmode != IEEE80211_M_WDS && sc->sc_hasbmask) {   		struct ieee80211vap *v; -@@ -1137,18 +1140,22 @@ +@@ -1141,18 +1144,22 @@   		/* do a full search to mark all the allocated VAPs */   		id_mask = 0; @@ -70,7 +70,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	STAILQ_INIT(&avp->av_mcastq.axq_q);   	ATH_TXQ_LOCK_INIT(&avp->av_mcastq);   	if (opmode == IEEE80211_M_HOSTAP || opmode == IEEE80211_M_IBSS) { -@@ -1158,33 +1165,14 @@ +@@ -1162,33 +1169,14 @@   		 */   		avp->av_bcbuf = STAILQ_FIRST(&sc->sc_bbuf);   		STAILQ_REMOVE_HEAD(&sc->sc_bbuf, bf_list); @@ -106,7 +106,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			/*   			 * Multiple VAPs are to transmit beacons and we   			 * have h/w support for TSF adjusting; enable use -@@ -1294,7 +1282,9 @@ +@@ -1298,7 +1286,9 @@   			sc->sc_stagbeacons = 0;   	} @@ -117,7 +117,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		sc->sc_nstavaps--;   		sc->sc_nostabeacons = 0;   	} else if (vap->iv_opmode == IEEE80211_M_MONITOR) -@@ -3383,7 +3373,7 @@ +@@ -3517,7 +3507,7 @@   	    sc->sc_opmode == HAL_M_IBSS ||	/* NB: AHDEMO too */   	    (sc->sc_nostabeacons) || sc->sc_scanning)   		rfilt |= HAL_RX_FILTER_BEACON; @@ -126,7 +126,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		rfilt |= (HAL_RX_FILTER_CONTROL | HAL_RX_FILTER_BEACON |   			  HAL_RX_FILTER_PROBEREQ | HAL_RX_FILTER_PROM);   	return rfilt; -@@ -5832,12 +5822,20 @@ +@@ -5953,12 +5943,20 @@   			type = ieee80211_input(ni, skb, rs->rs_rssi, rs_tsf);   			ieee80211_unref_node(&ni);   		} else { @@ -149,11 +149,11 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			if (ni != NULL) {   				struct ath_node *an = ATH_NODE(ni);   				ieee80211_keyix_t keyix; -Index: madwifi-ng-r2568-20070710/ath/if_athvar.h +Index: madwifi-ng-r2756-20071018/ath/if_athvar.h  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-10-20 20:53:03.000000000 +0200 -@@ -204,7 +204,7 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_athvar.h	2007-10-24 06:20:16.501629651 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_athvar.h	2007-10-24 06:20:19.101777824 +0200 +@@ -209,7 +209,7 @@   #define	ATH_RXBUF	40		/* number of RX buffers */   #define	ATH_TXBUF	200		/* number of TX buffers */ @@ -162,7 +162,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_athvar.h   /* free buffer threshold to restart net dev */   #define	ATH_TXBUF_FREE_THRESHOLD  (ATH_TXBUF / 20) -@@ -603,6 +603,7 @@ +@@ -610,6 +610,7 @@   	u_int16_t sc_nvaps;			/* # of active virtual APs */   	u_int8_t sc_nstavaps;			/* # of active station VAPs */   	u_int8_t sc_nmonvaps;			/* # of monitor VAPs */ @@ -170,10 +170,10 @@ Index: madwifi-ng-r2568-20070710/ath/if_athvar.h   	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-r2568-20070710/net80211/ieee80211_beacon.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_beacon.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_beacon.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c	2007-10-20 20:52:52.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_beacon.c	2007-10-24 06:20:16.505629880 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_beacon.c	2007-10-24 06:20:19.109778282 +0200  @@ -111,7 +111,7 @@   	bo->bo_tim = frm; @@ -183,11 +183,11 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c   		*frm++ = IEEE80211_ELEMID_IBSSPARMS;   		*frm++ = 2;   		*frm++ = 0; *frm++ = 0;		/* TODO: ATIM window */ -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_input.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-10-20 20:52:56.000000000 +0200 -@@ -2981,7 +2981,13 @@ +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_input.c	2007-10-24 06:20:16.513630337 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_input.c	2007-10-24 06:20:19.113778513 +0200 +@@ -2990,7 +2990,13 @@   			return;   		}   		if (ni == vap->iv_bss) { @@ -202,7 +202,7 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c   				/*   				 * XXX Cannot tell if the sender is operating   				 * in ibss mode.  But we need a new node to -@@ -2990,12 +2996,13 @@ +@@ -2999,12 +3005,13 @@   				 */   				ni = ieee80211_fakeup_adhoc_node(vap,   					wh->i_addr2); @@ -217,10 +217,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c   		}   		IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_INPUT, wh->i_addr2, -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_node.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-10-20 20:52:56.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_node.c	2007-10-24 06:20:18.437739986 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_node.c	2007-10-24 06:20:19.113778513 +0200  @@ -1084,8 +1084,25 @@   	IEEE80211_NODE_TABLE_LOCK_ASSERT(nt); diff --git a/package/madwifi/patches/122-replayfail_workaround.patch b/package/madwifi/patches/122-replayfail_workaround.patch index 32da78fc2..fe8db8523 100644 --- a/package/madwifi/patches/122-replayfail_workaround.patch +++ b/package/madwifi/patches/122-replayfail_workaround.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_linux.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_linux.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_linux.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_linux.c	2007-10-20 20:52:34.000000000 +0200 -@@ -285,6 +285,9 @@ +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_linux.c	2007-10-24 06:20:16.461627371 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_linux.c	2007-10-24 06:20:19.373793330 +0200 +@@ -333,6 +333,9 @@   		k->wk_cipher->ic_name, k->wk_keyix,   		(unsigned long long)rsc ); diff --git a/package/madwifi/patches/123-ccmp_checks.patch b/package/madwifi/patches/123-ccmp_checks.patch index 00f9f2fd8..f5bd34eec 100644 --- a/package/madwifi/patches/123-ccmp_checks.patch +++ b/package/madwifi/patches/123-ccmp_checks.patch @@ -1,7 +1,7 @@ -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_ccmp.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_ccmp.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_ccmp.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_ccmp.c	2007-10-20 20:52:34.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_crypto_ccmp.c	2007-10-24 06:20:16.429625551 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_ccmp.c	2007-10-24 06:20:19.581805179 +0200  @@ -475,6 +475,9 @@   	uint8_t *mic, *pos;   	u_int space; diff --git a/package/madwifi/patches/124-linux24_compat.patch b/package/madwifi/patches/124-linux24_compat.patch index 70ea0b4e8..0340cf6ea 100644 --- a/package/madwifi/patches/124-linux24_compat.patch +++ b/package/madwifi/patches/124-linux24_compat.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_athvar.h +Index: madwifi-ng-r2756-20071018/ath/if_athvar.h  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-10-20 20:52:44.000000000 +0200 -@@ -123,6 +123,11 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_athvar.h	2007-10-24 06:20:19.101777824 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_athvar.h	2007-10-24 06:20:19.789817035 +0200 +@@ -128,6 +128,11 @@   #define	NETDEV_TX_BUSY	1   #endif diff --git a/package/madwifi/patches/125-tpc_PR_1435.patch b/package/madwifi/patches/125-tpc_PR_1435.patch deleted file mode 100644 index 8df9d870f..000000000 --- a/package/madwifi/patches/125-tpc_PR_1435.patch +++ /dev/null @@ -1,100 +0,0 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:53:00.000000000 +0200 -@@ -273,9 +273,7 @@ - static char *autocreate = NULL; - static char *ratectl = DEF_RATE_CTL; - static int rfkill = 0; --#ifdef ATH_CAP_TPC - static int tpc = 0; --#endif - static int countrycode = -1; - static int outdoor = -1; - static int xchanmode = -1; -@@ -533,12 +531,6 @@ - 		rfkill ? "on" : "off"); - 	ath_hal_setrfsilent(ah, rfkill); -  --#ifdef ATH_CAP_TPC --	printk(KERN_INFO "ath_pci: ath_pci: switching per-packet transmit power control %s\n", --		tpc ? "on" : "off"); --	ath_hal_settpc(ah, tpc); --#endif -- - 	/* - 	 * Setup rate tables for all potential media types. - 	 */ -@@ -818,11 +810,18 @@ - 	 */ - #ifdef ATH_CAP_TPC - 	sc->sc_hastpc = ath_hal_hastpc(ah); --	if (sc->sc_hastpc || ath_hal_hastxpowlimit(ah)) -+	if(tpc && !sc->sc_hastpc) { -+		printk(KERN_WARNING "ath_pci: WARNING: per-packet transmit power control was requested, but is not supported by the hardware.\n"); -+		tpc = 0; -+	} -+	printk(KERN_INFO "ath_pci: switching per-packet transmit power control %s\n", -+		tpc ? "on" : "off"); -+	ath_hal_settpc(ah, tpc); - #else - 	sc->sc_hastpc = 0; --	if (ath_hal_hastxpowlimit(ah)) -+	tpc = 0; /* TPC is always zero, when compiled without ATH_CAP_TPC */ - #endif -+	if (sc->sc_hastpc || ath_hal_hastxpowlimit(ah)) - 		ic->ic_caps |= IEEE80211_C_TXPMGT; -  - 	/* -@@ -1836,7 +1835,7 @@ - 	ath_stop_locked(dev); -  - #ifdef ATH_CAP_TPC --	/* Re-enable after suspend (?) */ -+	/* Re-enable after suspend */ - 	ath_hal_settpc(ah, tpc); - #endif -  -@@ -8787,26 +8786,16 @@ - 	 * Search for the VAP that needs a txpow change, if any - 	 */ - 	TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) { --#ifdef ATH_CAP_TPC --		if (ic->ic_newtxpowlimit == vap->iv_bss->ni_txpower) { -+		if (!tpc || ic->ic_newtxpowlimit >= vap->iv_bss->ni_txpower) { - 			vap->iv_bss->ni_txpower = clamped_txpow; - 			ieee80211_iterate_nodes(&vap->iv_ic->ic_sta, set_node_txpower, &clamped_txpow); - 		} --#else --		vap->iv_bss->ni_txpower = clamped_txpow; --		ieee80211_iterate_nodes(&vap->iv_ic->ic_sta, set_node_txpower, &clamped_txpow); --#endif - 	} -  --	ic->ic_newtxpowlimit = sc->sc_curtxpow = clamped_txpow; -+	sc->sc_curtxpow = clamped_txpow; -  --#ifdef ATH_CAP_TPC --	if (ic->ic_newtxpowlimit >= txpowlimit) --		ath_hal_settxpowlimit(ah, ic->ic_newtxpowlimit); --#else --	if (ic->ic_newtxpowlimit != txpowlimit) --		ath_hal_settxpowlimit(ah, ic->ic_newtxpowlimit); --#endif -+	if (clamped_txpow != txpowlimit) -+		ath_hal_settxpowlimit(ah, clamped_txpow); - } -  -  -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_wireless.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_wireless.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_wireless.c	2007-10-20 20:52:29.000000000 +0200 -@@ -1403,6 +1403,7 @@ - 	} else { - 		if (!fixed)		/* no change */ - 			return 0; -+		ic->ic_newtxpowlimit = IEEE80211_TXPOWER_MAX; - 		ic->ic_flags &= ~IEEE80211_F_TXPOW_FIXED; - 	} - done: diff --git a/package/madwifi/patches/126-rxerr_frames.patch b/package/madwifi/patches/126-rxerr_frames.patch index 1d561eed5..e88396fc0 100644 --- a/package/madwifi/patches/126-rxerr_frames.patch +++ b/package/madwifi/patches/126-rxerr_frames.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:52:58.000000000 +0200 -@@ -5711,8 +5711,9 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:19.097777599 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:20.001829115 +0200 +@@ -5834,8 +5834,9 @@   			/*   			 * Reject error frames if we have no vaps that    			 * are operating in monitor mode. diff --git a/package/madwifi/patches/127-beacon_node.patch b/package/madwifi/patches/127-beacon_node.patch index 10459bcd8..087eeee75 100644 --- a/package/madwifi/patches/127-beacon_node.patch +++ b/package/madwifi/patches/127-beacon_node.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:52:54.000000000 +0200 -@@ -4027,6 +4027,8 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:20.001829115 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:20.213841201 +0200 +@@ -4162,6 +4162,8 @@   	}   	bf = avp->av_bcbuf;   	ni = bf->bf_node; diff --git a/package/madwifi/patches/128-adhoc_memleak.patch b/package/madwifi/patches/128-adhoc_memleak.patch deleted file mode 100644 index 6f3ad49a1..000000000 --- a/package/madwifi/patches/128-adhoc_memleak.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-10-20 20:52:44.000000000 +0200 -@@ -2875,7 +2875,7 @@ - 		} - 		if ((vap->iv_opmode == IEEE80211_M_IBSS) &&  - 				(scan.capinfo & IEEE80211_CAPINFO_IBSS)) { --			if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_macaddr)) { -+			if (ni == vap->iv_bss) { - 				/* Create a new entry in the neighbor table. */ - 				ni = ieee80211_add_neighbor(vap, wh, &scan); - 			} else { -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-10-20 20:52:39.000000000 +0200 -@@ -1205,7 +1205,7 @@ - 	struct ieee80211com *ic = vap->iv_ic; - 	struct ieee80211_node *ni; -  --	ni = ieee80211_dup_bss(vap, wh->i_addr2, 1); -+	ni = ieee80211_dup_bss(vap, wh->i_addr2, 0); - 	if (ni != NULL) { - 		ni->ni_esslen = sp->ssid[1]; - 		memcpy(ni->ni_essid, sp->ssid + 2, sp->ssid[1]); diff --git a/package/madwifi/patches/129-rxant_r2591.patch b/package/madwifi/patches/129-rxant_r2591.patch deleted file mode 100644 index 08960d1e6..000000000 --- a/package/madwifi/patches/129-rxant_r2591.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:52:46.000000000 +0200 -@@ -1882,6 +1882,9 @@ - 	 */ - 	ath_update_txpow(sc); -  -+	/* Set the default RX antenna; it may get lost on reset. */ -+	ath_setdefantenna(sc, sc->sc_defant); -+ - 	/* - 	 * Setup the hardware after reset: the key cache - 	 * is filled as needed and the receive engine is diff --git a/package/madwifi/patches/130-chanswitch_beacon_fix_PR_1477.patch b/package/madwifi/patches/130-chanswitch_beacon_fix_PR_1477.patch deleted file mode 100644 index 6fa00890a..000000000 --- a/package/madwifi/patches/130-chanswitch_beacon_fix_PR_1477.patch +++ /dev/null @@ -1,42 +0,0 @@ -Signed-off-by: Andrew Lunn <andrew@lunn.ch> - -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_beacon.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c	2007-10-20 20:52:31.000000000 +0200 -@@ -305,13 +305,17 @@ - 		 */ - 		c = ieee80211_doth_findchan(vap, ic->ic_chanchange_chan); - 		if (c == NULL) { -+			/* -+			 * The channel we have been requested to change to -+			 * is not valid. Drop the channel switch annoucement -+			 * from the beacon and don't change channel. -+			 */ - 			IEEE80211_DPRINTF(vap, IEEE80211_MSG_DOTH, --				"%s: find channel failure\n", __func__); --			IEEE80211_UNLOCK_IRQ_EARLY(ic); --			return 0; -+					  "%s: find channel failure\n",  -+					  __func__); -+		} else { -+			ic->ic_bsschan = c; - 		} --		ic->ic_bsschan = c; -- - 		skb_pull(skb, sizeof(struct ieee80211_frame)); - 		skb_trim(skb, 0); - 		frm = skb->data; -@@ -321,8 +325,10 @@ - 		vap->iv_flags &= ~IEEE80211_F_CHANSWITCH; - 		ic->ic_flags &= ~IEEE80211_F_CHANSWITCH; -  --		/* NB: only for the first VAP to get here */ --		if (ic->ic_curchan != c) { -+		/* NB: only for the first VAP to get here, and we have a valid -+		 *     new channel to change to. -+		 */ -+		if (c && ic->ic_curchan != c) { - 			ic->ic_curchan = c; - 			ic->ic_set_channel(ic); - 		} diff --git a/package/madwifi/patches/131-minstrel_rateidx.patch b/package/madwifi/patches/131-minstrel_rateidx.patch deleted file mode 100644 index d2becadc8..000000000 --- a/package/madwifi/patches/131-minstrel_rateidx.patch +++ /dev/null @@ -1,17 +0,0 @@ -Index: madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/ath_rate/minstrel/minstrel.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c	2007-10-20 20:52:46.000000000 +0200 -@@ -675,6 +675,12 @@ - 		} -  - 		for (x = 0; x < ni->ni_rates.rs_nrates; x++) { -+			if (sn->rates[x].rix == 0xff) { -+				DPRINTF(sc, "%s: %s ignore bogus rix at %d\n", -+					dev_info, __func__, x); -+				continue; -+			} -+ - 			sn->rs_rateattempts	[x] = 0; - 			sn->rs_thisprob		[x] = 0; - 			sn->rs_ratesuccess 	[x] = 0; diff --git a/package/madwifi/patches/200-no_debug.patch b/package/madwifi/patches/200-no_debug.patch index 00717afcd..da8aac850 100644 --- a/package/madwifi/patches/200-no_debug.patch +++ b/package/madwifi/patches/200-no_debug.patch @@ -1,7 +1,7 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:52:44.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:20.213841201 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:20.433853739 +0200  @@ -75,7 +75,7 @@   #include <net80211/if_llc.h>   #endif @@ -11,10 +11,10 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   #include "net80211/if_athproto.h"   #include "if_athvar.h" -Index: madwifi-ng-r2568-20070710/ath_rate/amrr/amrr.c +Index: madwifi-ng-r2756-20071018/ath_rate/amrr/amrr.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath_rate/amrr/amrr.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath_rate/amrr/amrr.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/ath_rate/amrr/amrr.c	2007-10-24 06:20:16.253615519 +0200 ++++ madwifi-ng-r2756-20071018/ath_rate/amrr/amrr.c	2007-10-24 06:20:20.433853739 +0200  @@ -70,7 +70,7 @@   #include "amrr.h" @@ -24,10 +24,10 @@ Index: madwifi-ng-r2568-20070710/ath_rate/amrr/amrr.c   #ifdef AMRR_DEBUG   #define	DPRINTF(sc, _fmt, ...) do {					\   	if (sc->sc_debug & 0x10)					\ -Index: madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c +Index: madwifi-ng-r2756-20071018/ath_rate/minstrel/minstrel.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath_rate/minstrel/minstrel.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/ath_rate/minstrel/minstrel.c	2007-10-24 06:20:18.217727448 +0200 ++++ madwifi-ng-r2756-20071018/ath_rate/minstrel/minstrel.c	2007-10-24 06:20:20.441854191 +0200  @@ -117,7 +117,7 @@   #include "minstrel.h" @@ -37,10 +37,10 @@ Index: madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c   #ifdef MINSTREL_DEBUG   enum {   		ATH_DEBUG_RATE		= 0x00000010	/* rate control */ -Index: madwifi-ng-r2568-20070710/ath_rate/onoe/onoe.c +Index: madwifi-ng-r2756-20071018/ath_rate/onoe/onoe.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath_rate/onoe/onoe.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath_rate/onoe/onoe.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/ath_rate/onoe/onoe.c	2007-10-24 06:20:16.269616432 +0200 ++++ madwifi-ng-r2756-20071018/ath_rate/onoe/onoe.c	2007-10-24 06:20:20.445854420 +0200  @@ -66,7 +66,7 @@   #include "onoe.h" @@ -50,10 +50,10 @@ Index: madwifi-ng-r2568-20070710/ath_rate/onoe/onoe.c   #ifdef ONOE_DEBUG   enum {   	ATH_DEBUG_RATE	= 0x00000010,	/* rate control */ -Index: madwifi-ng-r2568-20070710/ath_rate/sample/sample.c +Index: madwifi-ng-r2756-20071018/ath_rate/sample/sample.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath_rate/sample/sample.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath_rate/sample/sample.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/ath_rate/sample/sample.c	2007-10-24 06:20:16.277616884 +0200 ++++ madwifi-ng-r2756-20071018/ath_rate/sample/sample.c	2007-10-24 06:20:20.449854648 +0200  @@ -68,7 +68,7 @@   #include "sample.h" @@ -63,30 +63,10 @@ Index: madwifi-ng-r2568-20070710/ath_rate/sample/sample.c   #ifdef SAMPLE_DEBUG   enum {   	ATH_DEBUG_NODE		= 0x00080000,	/* node management */ -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_var.h  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_proto.c	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c	2007-10-20 20:52:39.000000000 +0200 -@@ -286,6 +286,7 @@ - } - EXPORT_SYMBOL(ieee80211_aclator_get); -  -+#ifdef IEEE80211_DEBUG - void - ieee80211_print_essid(const u_int8_t *essid, int len) - { -@@ -312,7 +313,6 @@ - } - EXPORT_SYMBOL(ieee80211_print_essid); -  --#ifdef IEEE80211_DEBUG - void - ieee80211_dump_pkt(struct ieee80211com *ic, - 	const u_int8_t *buf, int len, int rate, int rssi) -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_var.h -=================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_var.h	2007-10-20 20:51:37.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_var.h	2007-10-20 20:52:39.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_var.h	2007-10-24 06:20:16.285617342 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_var.h	2007-10-24 06:20:20.453854879 +0200  @@ -35,8 +35,8 @@   #ifndef _NET80211_IEEE80211_VAR_H_   #define _NET80211_IEEE80211_VAR_H_ @@ -98,10 +78,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_var.h   /* Definitions for IEEE 802.11 drivers. */   #include <net80211/ieee80211_linux.h> -Index: madwifi-ng-r2568-20070710/tools/do_multi.c +Index: madwifi-ng-r2756-20071018/tools/do_multi.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/do_multi.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/do_multi.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/tools/do_multi.c	2007-10-24 06:20:17.249672281 +0200 ++++ madwifi-ng-r2756-20071018/tools/do_multi.c	2007-10-24 06:20:20.453854879 +0200  @@ -9,16 +9,20 @@       progname = basename(argv[0]); @@ -123,22 +103,22 @@ Index: madwifi-ng-r2568-20070710/tools/do_multi.c       if(strcmp(progname, "athkey") == 0)   	ret =  athkey_init(argc, argv);       if(strcmp(progname, "athstats") == 0) -Index: madwifi-ng-r2568-20070710/tools/Makefile +Index: madwifi-ng-r2756-20071018/tools/Makefile  =================================================================== ---- madwifi-ng-r2568-20070710.orig/tools/Makefile	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/tools/Makefile	2007-10-20 20:52:09.000000000 +0200 -@@ -52,7 +52,7 @@ - 	 - ifdef DOMULTI - OBJS=	do_multi.o athstats.o 80211stats.o athkey.o athchans.o athctrl.o \ --	athdebug.o 80211debug.o wlanconfig.o -+	wlanconfig.o - ALL=	${OBJS} madwifi_multi - endif +--- madwifi-ng-r2756-20071018.orig/tools/Makefile	2007-10-24 06:20:17.253672511 +0200 ++++ madwifi-ng-r2756-20071018/tools/Makefile	2007-10-24 06:20:20.453854879 +0200 +@@ -48,7 +48,7 @@ +  -@@ -85,7 +85,7 @@ + ALLPROGS=	athstats 80211stats athkey athchans athctrl \ +-	athdebug 80211debug wlanconfig ath_info ++	wlanconfig ath_info +  + OBJS=	$(patsubst %,%.o,$(ALLPROGS) do_multi) + ALL=	${OBJS} madwifi_multi +@@ -84,7 +84,7 @@   	${CC} -c -o do_multi.o -DDOMULTI=1 ${ALL_CFLAGS} do_multi.c - madwifi_multi: + madwifi_multi: $(OBJS)   	${CC} -o madwifi_multi ${LDFLAGS} ${OBJS}  -	for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \  +	for i in athstats 80211stats athkey athchans athctrl wlanconfig; do \ diff --git a/package/madwifi/patches/300-napi_polling.patch b/package/madwifi/patches/300-napi_polling.patch index d3b95e7b5..f883ae416 100644 --- a/package/madwifi/patches/300-napi_polling.patch +++ b/package/madwifi/patches/300-napi_polling.patch @@ -1,7 +1,7 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:52:42.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:20.433853739 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:20.749871745 +0200  @@ -170,7 +170,7 @@   	int, u_int64_t);   static void ath_setdefantenna(struct ath_softc *, u_int); @@ -11,7 +11,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   static int ath_hardstart(struct sk_buff *, struct net_device *);   static int ath_mgtstart(struct ieee80211com *, struct sk_buff *);   #ifdef ATH_SUPERG_COMP -@@ -444,7 +444,6 @@ +@@ -445,7 +445,6 @@   	ATH_TXBUF_LOCK_INIT(sc);   	ATH_RXBUF_LOCK_INIT(sc); @@ -19,7 +19,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	ATH_INIT_TQUEUE(&sc->sc_txtq,	  ath_tx_tasklet,	dev);   	ATH_INIT_TQUEUE(&sc->sc_bmisstq,  ath_bmiss_tasklet,	dev);   	ATH_INIT_TQUEUE(&sc->sc_bstucktq, ath_bstuck_tasklet,	dev); -@@ -691,6 +690,8 @@ +@@ -696,6 +695,8 @@   	dev->set_mac_address = ath_set_mac_address;    	dev->change_mtu = ath_change_mtu;   	dev->tx_queue_len = ATH_TXBUF - 1;		/* 1 for mgmt frame */ @@ -28,17 +28,17 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   #ifdef USE_HEADERLEN_RESV   	dev->hard_header_len += sizeof(struct ieee80211_qosframe) +   				sizeof(struct llc) + -@@ -1667,6 +1668,7 @@ - 	 */ - 	ath_hal_getisr(ah, &status);		/* NB: clears ISR too */ - 	DPRINTF(sc, ATH_DEBUG_INTR, "%s: status 0x%x\n", __func__, status); +@@ -1794,6 +1795,7 @@ + 		(status & HAL_INT_RXPHY)   ? " HAL_INT_RXPHY"   : "", + 		(status & HAL_INT_SWBA)    ? " HAL_INT_SWBA"    : ""); +   +	sc->sc_isr = status;   	status &= sc->sc_imask;			/* discard unasked for bits */   	if (status & HAL_INT_FATAL) {   		sc->sc_stats.ast_hardware++; -@@ -1702,7 +1704,14 @@ - 		if (status & HAL_INT_RX) { - 			sc->sc_tsf = ath_hal_gettsf64(ah); +@@ -1831,7 +1833,14 @@ + 		} + 		if (status & (HAL_INT_RX | HAL_INT_RXPHY)) {   			ath_uapsd_processtriggers(sc);  -			ATH_SCHEDULE_TQUEUE(&sc->sc_rxtq, &needmark);  +			sc->sc_isr &= ~HAL_INT_RX; @@ -52,7 +52,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		}   		if (status & HAL_INT_TX) {   #ifdef ATH_SUPERG_DYNTURBO -@@ -1728,6 +1737,11 @@ +@@ -1857,6 +1866,11 @@   				}   			}   #endif @@ -64,7 +64,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			ATH_SCHEDULE_TQUEUE(&sc->sc_txtq, &needmark);   		}   		if (status & HAL_INT_BMISS) { -@@ -3318,10 +3332,10 @@ +@@ -3450,10 +3464,10 @@   	 *   	 * XXX Using in_softirq is not right since we might   	 * be called from other soft irq contexts than @@ -77,7 +77,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	netif_stop_queue(dev);   } -@@ -3334,7 +3348,7 @@ +@@ -3466,7 +3480,7 @@   	DPRINTF(sc, ATH_DEBUG_KEYCACHE, "%s:\n", __func__);   	netif_start_queue(dev);   	if (!in_softirq())		/* NB: see above */ @@ -86,7 +86,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   }   /* -@@ -5589,13 +5603,12 @@ +@@ -5707,13 +5721,12 @@   	sc->sc_rxotherant = 0;   } @@ -102,23 +102,20 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	struct ath_buf *bf;   	struct ath_softc *sc = dev->priv;   	struct ieee80211com *ic = &sc->sc_ic; -@@ -5608,12 +5621,15 @@ +@@ -5726,9 +5739,11 @@   	int type;   	u_int phyerr;   	u_int64_t rs_tsf; +-  +	u_int processed = 0, early_stop = 0;  +	u_int rx_limit = dev->quota; - 	/* Let the 802.11 layer know about the new noise floor */ - 	sc->sc_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan)); - 	ic->ic_channoise = sc->sc_channoise; -    	DPRINTF(sc, ATH_DEBUG_RX_PROC, "%s\n", __func__);  +process_rx_again:   	do {   		bf = STAILQ_FIRST(&sc->sc_rxbuf);   		if (bf == NULL) {		/* XXX ??? can this happen */ -@@ -5637,6 +5653,13 @@ +@@ -5752,6 +5767,13 @@   			/* NB: never process the self-linked entry at the end */   			break;   		} @@ -132,7 +129,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		skb = bf->bf_skb;   		if (skb == NULL) {		/* XXX ??? can this happen */   			printk("%s: no skbuff (%s)\n", DEV_NAME(dev), __func__); -@@ -5675,6 +5698,7 @@ +@@ -5796,6 +5818,7 @@   				sc->sc_stats.ast_rx_phyerr++;   				phyerr = rs->rs_phyerr & 0x1f;   				sc->sc_stats.ast_rx_phy[phyerr]++; @@ -140,7 +137,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			}   			if (rs->rs_status & HAL_RXERR_DECRYPT) {   				/* -@@ -5892,9 +5916,33 @@ +@@ -6011,9 +6034,33 @@   		STAILQ_INSERT_TAIL(&sc->sc_rxbuf, bf, bf_list);   		ATH_RXBUF_UNLOCK_IRQ(sc);   	} while (ath_rxbuf_init(sc, bf) == 0); @@ -174,7 +171,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   #undef PA2DESC   } -@@ -7517,11 +7565,22 @@ +@@ -7635,11 +7682,22 @@   	struct net_device *dev = (struct net_device *)data;   	struct ath_softc *sc = dev->priv; @@ -197,7 +194,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	netif_wake_queue(dev);   	if (sc->sc_softled) -@@ -7538,6 +7597,7 @@ +@@ -7656,6 +7714,7 @@   	struct net_device *dev = (struct net_device *)data;   	struct ath_softc *sc = dev->priv; @@ -205,7 +202,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	/*   	 * Process each active queue.   	 */ -@@ -7558,6 +7618,16 @@ +@@ -7676,6 +7735,16 @@   	if (sc->sc_uapsdq && txqactive(sc->sc_ah, sc->sc_uapsdq->axq_qnum))   		ath_tx_processq(sc, sc->sc_uapsdq); @@ -222,7 +219,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	netif_wake_queue(dev);   	if (sc->sc_softled) -@@ -7575,6 +7645,7 @@ +@@ -7693,6 +7762,7 @@   	unsigned int i;   	/* Process each active queue. */ @@ -230,7 +227,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	for (i = 0; i < HAL_NUM_TX_QUEUES; i++)   		if (ATH_TXQ_SETUP(sc, i) && txqactive(sc->sc_ah, i))   			ath_tx_processq(sc, &sc->sc_txq[i]); -@@ -7583,6 +7654,16 @@ +@@ -7701,6 +7771,16 @@   		ath_tx_processq(sc, sc->sc_xrtxq);   #endif @@ -247,7 +244,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	netif_wake_queue(dev);   	if (sc->sc_softled) -@@ -7681,6 +7762,7 @@ +@@ -7799,6 +7879,7 @@   ath_draintxq(struct ath_softc *sc)   {   	struct ath_hal *ah = sc->sc_ah; @@ -255,7 +252,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	unsigned int i;   	/* XXX return value */ -@@ -9189,9 +9271,9 @@ +@@ -9336,9 +9417,9 @@   	dev->mtu = mtu;   	if ((dev->flags & IFF_RUNNING) && !sc->sc_invalid) {   		/* NB: the rx buffers may need to be reallocated */ @@ -267,13 +264,13 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	}   	ATH_UNLOCK(sc); -Index: madwifi-ng-r2568-20070710/ath/if_athvar.h +Index: madwifi-ng-r2756-20071018/ath/if_athvar.h  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-10-20 20:52:42.000000000 +0200 -@@ -49,6 +49,10 @@ - #include "net80211/ieee80211.h"		/* XXX for WME_NUM_AC */ +--- madwifi-ng-r2756-20071018.orig/ath/if_athvar.h	2007-10-24 06:20:19.789817035 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_athvar.h	2007-10-24 06:20:20.749871745 +0200 +@@ -50,6 +50,10 @@   #include <asm/io.h> + #include <linux/list.h>  +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)  +#define irqs_disabled()			0 @@ -282,7 +279,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_athvar.h   /*    * Deduce if tasklets are available.  If not then    * fall back to using the immediate work queue. -@@ -635,7 +639,6 @@ +@@ -642,7 +646,6 @@   	struct ath_buf *sc_rxbufcur;		/* current rx buffer */   	u_int32_t *sc_rxlink;			/* link ptr in last RX desc */   	spinlock_t sc_rxbuflock; @@ -290,7 +287,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_athvar.h   	struct ATH_TQ_STRUCT sc_rxorntq;	/* rxorn intr tasklet */   	u_int8_t sc_defant;			/* current default antenna */   	u_int8_t sc_rxotherant;			/* RXs on non-default antenna */ -@@ -648,6 +651,7 @@ +@@ -655,6 +658,7 @@   	u_int sc_txintrperiod;			/* tx interrupt batching */   	struct ath_txq sc_txq[HAL_NUM_TX_QUEUES];   	struct ath_txq *sc_ac2q[WME_NUM_AC];	/* WME AC -> h/w qnum */ @@ -298,7 +295,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_athvar.h   	struct ATH_TQ_STRUCT sc_txtq;		/* tx intr tasklet */   	u_int8_t sc_grppoll_str[GRPPOLL_RATE_STR_LEN];   	struct ath_descdma sc_bdma;		/* beacon descriptors */ -@@ -720,6 +724,8 @@ +@@ -727,6 +731,8 @@   #define	ATH_TXBUF_LOCK_ASSERT(_sc) \   	KASSERT(spin_is_locked(&(_sc)->sc_txbuflock), ("txbuf not locked!")) @@ -307,10 +304,10 @@ Index: madwifi-ng-r2568-20070710/ath/if_athvar.h   #define	ATH_RXBUF_LOCK_INIT(_sc)	spin_lock_init(&(_sc)->sc_rxbuflock)   #define	ATH_RXBUF_LOCK_DESTROY(_sc) -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_input.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-10-20 20:52:39.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_input.c	2007-10-24 06:20:19.113778513 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_input.c	2007-10-24 06:20:20.757872202 +0200  @@ -1128,8 +1128,9 @@   		if (ni->ni_vlan != 0 && vap->iv_vlgrp != NULL) {   			/* attach vlan tag */ diff --git a/package/madwifi/patches/301-tx_locking.patch b/package/madwifi/patches/301-tx_locking.patch index 1ca7e8261..3502e48ce 100644 --- a/package/madwifi/patches/301-tx_locking.patch +++ b/package/madwifi/patches/301-tx_locking.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:52:39.000000000 +0200 -@@ -2561,7 +2561,7 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:20.749871745 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:20.997885880 +0200 +@@ -2693,7 +2693,7 @@   	/* NB: use this lock to protect an->an_tx_ffbuf (and txq->axq_stageq)   	 *	in athff_can_aggregate() call too.   	 */ @@ -11,7 +11,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   	if (athff_can_aggregate(sc, eh, an, skb, vap->iv_fragthreshold, &ff_flush)) {   		if (an->an_tx_ffbuf[skb->priority]) { /* i.e., frame on the staging queue */   			bf = an->an_tx_ffbuf[skb->priority]; -@@ -2569,6 +2569,7 @@ +@@ -2701,6 +2701,7 @@   			/* get (and remove) the frame from staging queue */   			TAILQ_REMOVE(&txq->axq_stageq, bf, bf_stagelist);   			an->an_tx_ffbuf[skb->priority] = NULL; @@ -19,7 +19,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			/*   			 * chain skbs and add FF magic -@@ -2591,7 +2592,7 @@ +@@ -2723,7 +2724,7 @@   			 */   			ATH_HARDSTART_GET_TX_BUF_WITH_LOCK;   			if (bf == NULL) { @@ -28,7 +28,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   				goto hardstart_fail;   			}   			DPRINTF(sc, ATH_DEBUG_XMIT | ATH_DEBUG_FF, -@@ -2603,8 +2604,7 @@ +@@ -2735,8 +2736,7 @@   			an->an_tx_ffbuf[skb->priority] = bf;   			TAILQ_INSERT_HEAD(&txq->axq_stageq, bf, bf_stagelist); @@ -38,7 +38,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			return NETDEV_TX_OK;   		} -@@ -2617,7 +2617,7 @@ +@@ -2749,7 +2749,7 @@   			an->an_tx_ffbuf[skb->priority] = NULL;   			/* NB: ath_tx_start -> ath_tx_txqaddbuf uses ATH_TXQ_LOCK too */ @@ -47,7 +47,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			/* encap and xmit */   			bf_ff->bf_skb = ieee80211_encap(ni, bf_ff->bf_skb, &framecnt); -@@ -2666,12 +2666,12 @@ +@@ -2798,12 +2798,12 @@   		ATH_HARDSTART_GET_TX_BUF_WITH_LOCK;   		if (bf == NULL) { @@ -62,11 +62,11 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   ff_flush_done:   ff_bypass: -Index: madwifi-ng-r2568-20070710/ath/if_athvar.h +Index: madwifi-ng-r2756-20071018/ath/if_athvar.h  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-10-20 20:52:37.000000000 +0200 -@@ -497,6 +497,8 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_athvar.h	2007-10-24 06:20:20.749871745 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_athvar.h	2007-10-24 06:20:21.001886105 +0200 +@@ -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)   #define	ATH_TXQ_LOCK_DESTROY(_tq) diff --git a/package/madwifi/patches/305-pureg_fix.patch b/package/madwifi/patches/305-pureg_fix.patch index df9b3e7de..8c4e87487 100644 --- a/package/madwifi/patches/305-pureg_fix.patch +++ b/package/madwifi/patches/305-pureg_fix.patch @@ -1,8 +1,8 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:52:37.000000000 +0200 -@@ -3387,7 +3387,9 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:20.997885880 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:21.225898872 +0200 +@@ -3519,7 +3519,9 @@   		rfilt |= HAL_RX_FILTER_PROM;   	if (ic->ic_opmode == IEEE80211_M_STA ||   	    sc->sc_opmode == HAL_M_IBSS ||	/* NB: AHDEMO too */ @@ -13,10 +13,10 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		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-r2568-20070710/net80211/ieee80211_input.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_input.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-10-20 20:52:34.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_input.c	2007-10-24 06:20:20.757872202 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_input.c	2007-10-24 06:20:21.229899101 +0200  @@ -321,11 +321,12 @@   				bssid = wh->i_addr3;   			} @@ -42,7 +42,7 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c   				/* not interested in */   				IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT,   					bssid, NULL, "%s", "not to bss"); -@@ -2541,7 +2543,7 @@ +@@ -2550,7 +2552,7 @@   	u_int8_t *frm, *efrm;   	u_int8_t *ssid, *rates, *xrates, *wpa, *rsn, *wme, *ath;   	u_int8_t rate; @@ -51,7 +51,7 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c   	u_int8_t qosinfo;   	wh = (struct ieee80211_frame *) skb->data; -@@ -2563,11 +2565,15 @@ +@@ -2572,11 +2574,15 @@   		 *    o station mode when associated (to collect state   		 *      updates such as 802.11g slot time), or   		 *    o adhoc mode (to discover neighbors) @@ -68,7 +68,7 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c   			vap->iv_stats.is_rx_mgtdiscard++;   			return;   		} -@@ -2650,6 +2656,7 @@ +@@ -2659,6 +2665,7 @@   					break;   				}   				scan.erp = frm[2]; @@ -76,7 +76,7 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c   				break;   			case IEEE80211_ELEMID_RSN:   				scan.rsn = frm; -@@ -2867,6 +2874,20 @@ +@@ -2876,6 +2883,20 @@   				ieee80211_bg_scan(vap);   			return;   		} @@ -97,10 +97,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c   		/*   		 * If scanning, just pass information to the scan module.   		 */ -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_node.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-10-20 20:52:34.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_node.c	2007-10-24 06:20:19.113778513 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_node.c	2007-10-24 06:20:21.237899558 +0200  @@ -332,10 +332,16 @@   	/* Update country ie information */   	ieee80211_build_countryie(ic); @@ -120,10 +120,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c   	(void) ieee80211_sta_join1(PASS_NODE(ni));   } -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_proto.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_proto.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_proto.c	2007-10-24 06:20:16.117607766 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_proto.c	2007-10-24 06:20:21.237899558 +0200  @@ -586,6 +586,28 @@   	{ 4, { 2, 4, 11, 22 } },	/* IEEE80211_MODE_TURBO_G (mixed b/g) */   }; @@ -153,10 +153,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c   /*    * Mark the basic rates for the 11g rate table based on the    * specified mode.  For 11b compatibility we mark only 11b -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_var.h +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_var.h  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_var.h	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_var.h	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_var.h	2007-10-24 06:20:20.453854879 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_var.h	2007-10-24 06:20:21.237899558 +0200  @@ -592,6 +592,8 @@   void ieee80211_build_countryie(struct ieee80211com *);   int ieee80211_media_setup(struct ieee80211com *, struct ifmedia *, u_int32_t, diff --git a/package/madwifi/patches/306-mib_intr_workaround.patch b/package/madwifi/patches/306-mib_intr_workaround.patch deleted file mode 100644 index fc39a5ed0..000000000 --- a/package/madwifi/patches/306-mib_intr_workaround.patch +++ /dev/null @@ -1,83 +0,0 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:52:34.000000000 +0200 -@@ -203,6 +203,7 @@ - static void ath_flushrecv(struct ath_softc *); - static void ath_chan_change(struct ath_softc *, struct ieee80211_channel *); - static void ath_calibrate(unsigned long); -+static void ath_mib_enable(unsigned long); - static int ath_newstate(struct ieee80211vap *, enum ieee80211_state, int); -  - static void ath_scan_start(struct ieee80211com *); -@@ -660,6 +661,10 @@ - 	sc->sc_cal_ch.function = ath_calibrate; - 	sc->sc_cal_ch.data = (unsigned long) dev; -  -+	init_timer(&sc->sc_mib_enable); -+	sc->sc_mib_enable.function = ath_mib_enable; -+	sc->sc_mib_enable.data = (unsigned long) sc; -+ - #ifdef ATH_SUPERG_DYNTURBO - 	init_timer(&sc->sc_dturbo_switch_mode); - 	sc->sc_dturbo_switch_mode.function = ath_turbo_switch_mode; -@@ -1751,16 +1756,19 @@ - 		if (status & HAL_INT_MIB) { - 			sc->sc_stats.ast_mib++; - 			/* --			 * Disable interrupts until we service the MIB --			 * interrupt; otherwise it will continue to fire. --			 */ --			ath_hal_intrset(ah, 0); --			/* --			 * Let the HAL handle the event.  We assume it will --			 * clear whatever condition caused the interrupt. -+			 * When the card receives lots of PHY errors, the MIB -+			 * interrupt will fire at a very rapid rate. We will use -+			 * a timer to enforce at least 1 jiffy delay between -+			 * MIB interrupts. This should be unproblematic, since -+			 * the hardware will continue to update the counters in the -+			 * mean time. - 			 */ --			ath_hal_mibevent(ah, &sc->sc_halstats); -+			sc->sc_imask &= ~HAL_INT_MIB; - 			ath_hal_intrset(ah, sc->sc_imask); -+			mod_timer(&sc->sc_mib_enable, jiffies + 1); -+ -+			/* Let the HAL handle the event. */ -+			ath_hal_mibevent(ah, &sc->sc_halstats); - 		} - 	} - 	if (needmark) -@@ -8029,6 +8037,19 @@ - } -  - /* -+ * Enable MIB interrupts again, after the ISR disabled them -+ * to slow down the rate of PHY error reporting. -+ */ -+static void -+ath_mib_enable(unsigned long arg) -+{ -+	struct ath_softc *sc = (struct ath_softc *) arg; -+ -+	sc->sc_imask |= HAL_INT_MIB; -+	ath_hal_intrset(sc->sc_ah, sc->sc_imask); -+} -+ -+/* -  * Periodically recalibrate the PHY to account -  * for temperature/environment changes. -  */ -Index: madwifi-ng-r2568-20070710/ath/if_athvar.h -=================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-10-20 20:52:09.000000000 +0200 -@@ -687,6 +687,7 @@ - 	struct ctl_table *sc_sysctls; -  - 	u_int16_t sc_reapcount;  		/* # of tx buffers reaped after net dev stopped */ -+	struct timer_list sc_mib_enable; -  - #ifdef ATH_REVERSE_ENGINEERING - 	u_int8_t register_snapshot[MAX_REGISTER_ADDRESS]; diff --git a/package/madwifi/patches/309-micfail_detect.patch b/package/madwifi/patches/309-micfail_detect.patch index 5f5918f46..88273e29b 100644 --- a/package/madwifi/patches/309-micfail_detect.patch +++ b/package/madwifi/patches/309-micfail_detect.patch @@ -1,16 +1,16 @@ -Index: madwifi-ng-r2568-20070710/ath/if_ath.c +Index: madwifi-ng-r2756-20071018/ath/if_ath.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-10-20 20:52:09.000000000 +0200 -@@ -5633,6 +5633,7 @@ +--- madwifi-ng-r2756-20071018.orig/ath/if_ath.c	2007-10-24 06:20:21.225898872 +0200 ++++ madwifi-ng-r2756-20071018/ath/if_ath.c	2007-10-24 06:20:21.505914829 +0200 +@@ -5743,6 +5743,7 @@   	u_int64_t rs_tsf;   	u_int processed = 0, early_stop = 0;   	u_int rx_limit = dev->quota;  +	u_int mic_fail = 0; - 	/* Let the 802.11 layer know about the new noise floor */ - 	sc->sc_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan)); -@@ -5727,25 +5728,7 @@ + 	DPRINTF(sc, ATH_DEBUG_RX_PROC, "%s\n", __func__); + process_rx_again: +@@ -5839,24 +5840,7 @@   			}   			if (rs->rs_status & HAL_RXERR_MIC) {   				sc->sc_stats.ast_rx_badmic++; @@ -19,7 +19,6 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c  -				 * the 802.11 header for notification.  -				 */  -				/* XXX frag's and QoS frames */ --				len = rs->rs_datalen;  -				if (len >= sizeof (struct ieee80211_frame)) {  -					bus_dma_sync_single(sc->sc_bdev,  -					    bf->bf_skbaddr, len, @@ -37,7 +36,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			}   			/*   			 * Reject error frames if we have no vaps that  -@@ -5810,8 +5793,9 @@ +@@ -5920,8 +5904,9 @@   		/*   		 * Finished monitor mode handling, now reject   		 * error frames before passing to other vaps @@ -48,7 +47,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   			dev_kfree_skb(skb);   			skb = NULL;   			goto rx_next; -@@ -5842,6 +5826,27 @@ +@@ -5952,6 +5937,27 @@   				   sc->sc_hwmap[rs->rs_rate].ieeerate,   				   rs->rs_rssi); @@ -76,10 +75,10 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c   		/*   		 * Locate the node for sender, track state, and then   		 * pass the (referenced) node up to the 802.11 layer -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_ccmp.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_ccmp.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_ccmp.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_ccmp.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_crypto_ccmp.c	2007-10-24 06:20:19.581805179 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_ccmp.c	2007-10-24 06:20:21.505914829 +0200  @@ -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); @@ -98,10 +97,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_ccmp.c   {   	return 1;   } -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto.h +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_crypto.h  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto.h	2007-10-20 20:51:36.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto.h	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_crypto.h	2007-10-24 06:20:16.013601842 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_crypto.h	2007-10-24 06:20:21.513915288 +0200  @@ -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); @@ -124,10 +123,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto.h   }   /* -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_none.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_none.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_none.c	2007-10-20 20:51:36.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_none.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_crypto_none.c	2007-10-24 06:20:16.017602067 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_none.c	2007-10-24 06:20:21.513915288 +0200  @@ -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); @@ -146,10 +145,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_none.c   {   	struct ieee80211vap *vap = k->wk_private; -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_tkip.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_tkip.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_tkip.c	2007-10-20 20:51:36.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_tkip.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_crypto_tkip.c	2007-10-24 06:20:16.025602525 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_tkip.c	2007-10-24 06:20:21.513915288 +0200  @@ -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); @@ -177,10 +176,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_tkip.c   		struct ieee80211vap *vap = ctx->tc_vap;   		u8 mic[IEEE80211_WEP_MICLEN];   		u8 mic0[IEEE80211_WEP_MICLEN]; -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_wep.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_wep.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_wep.c	2007-10-20 20:51:36.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_wep.c	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_crypto_wep.c	2007-10-24 06:20:16.033602982 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_crypto_wep.c	2007-10-24 06:20:21.513915288 +0200  @@ -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); @@ -199,10 +198,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_wep.c   {   	return 1;   } -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_input.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-10-20 20:52:29.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_input.c	2007-10-24 06:20:21.229899101 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_input.c	2007-10-24 06:20:21.517915515 +0200  @@ -632,7 +632,7 @@   		 * Next strip any MSDU crypto bits.   		 */ @@ -212,7 +211,7 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c   			IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT,   				ni->ni_macaddr, "data", "%s", "demic error");   			IEEE80211_NODE_STAT(ni, rx_demicfail); -@@ -3772,6 +3772,47 @@ +@@ -3781,6 +3781,47 @@   }   #endif @@ -260,10 +259,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c   #ifdef IEEE80211_DEBUG   /*    * Debugging support. -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.h +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_proto.h  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_proto.h	2007-10-20 20:51:36.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_proto.h	2007-10-20 20:52:09.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_proto.h	2007-10-24 06:20:16.045603664 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_proto.h	2007-10-24 06:20:21.517915515 +0200  @@ -91,6 +91,7 @@   void ieee80211_set11gbasicrates(struct ieee80211_rateset *, enum ieee80211_phymode);   enum ieee80211_phymode ieee80211_get11gbasicrates(struct ieee80211_rateset *); @@ -272,11 +271,11 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.h   /*    * Return the size of the 802.11 header for a management or data frame. -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_linux.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_linux.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_linux.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_linux.c	2007-10-20 20:52:09.000000000 +0200 -@@ -291,8 +291,8 @@ +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_linux.c	2007-10-24 06:20:19.373793330 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_linux.c	2007-10-24 06:20:21.517915515 +0200 +@@ -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,   		k->wk_keyix, @@ -287,10 +286,10 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_linux.c   	memset(&wrqu, 0, sizeof(wrqu));   	wrqu.data.length = strlen(buf);   	wireless_send_event(dev, IWEVCUSTOM, &wrqu, buf); -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_output.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_output.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_output.c	2007-10-20 20:51:36.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_output.c	2007-10-20 20:52:29.000000000 +0200 +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_output.c	2007-10-24 06:20:16.061604575 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_output.c	2007-10-24 06:20:21.521915740 +0200  @@ -1079,13 +1079,16 @@   			cip = (struct ieee80211_cipher *) key->wk_cipher;   			ciphdrsize = cip->ic_header; @@ -311,11 +310,11 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_output.c   		/*   		 * Allocate sk_buff for each subsequent fragment; First fragment -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c +Index: madwifi-ng-r2756-20071018/net80211/ieee80211_node.c  =================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-10-20 20:52:09.000000000 +0200 -@@ -1891,11 +1891,13 @@ +--- madwifi-ng-r2756-20071018.orig/net80211/ieee80211_node.c	2007-10-24 06:20:21.237899558 +0200 ++++ madwifi-ng-r2756-20071018/net80211/ieee80211_node.c	2007-10-24 06:20:21.521915740 +0200 +@@ -1880,11 +1880,13 @@   	/* From this point onwards we can no longer find the node,   	 * so no more references are generated   	 */ diff --git a/package/madwifi/patches/310-erp_beacon_check.patch b/package/madwifi/patches/310-erp_beacon_check.patch deleted file mode 100644 index f4af14145..000000000 --- a/package/madwifi/patches/310-erp_beacon_check.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c -=================================================================== ---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_beacon.c	2007-10-20 20:52:09.000000000 +0200 -+++ madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c	2007-10-20 20:52:09.000000000 +0200 -@@ -518,7 +518,7 @@ - 			vap->iv_flags &= ~IEEE80211_F_XRUPDATE; - 		} - #endif --		if (ic->ic_flags_ext & IEEE80211_FEXT_ERPUPDATE) { -+		if ((ic->ic_flags_ext & IEEE80211_FEXT_ERPUPDATE) && (bo->bo_erp != NULL)) { - 			(void) ieee80211_add_erp(bo->bo_erp, ic); - 			ic->ic_flags_ext &= ~IEEE80211_FEXT_ERPUPDATE; - 		} | 
