From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 29 Aug 2006 16:20:00 +0000 (+0000)
Subject: update madwifi to 0.9.2
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=806861c612d44abc1dd34e2581d98387a4d80721;p=openwrt%2Fstaging%2Fansuel.git

update madwifi to 0.9.2

SVN-Revision: 4701
---

diff --git a/openwrt/package/madwifi/Makefile b/openwrt/package/madwifi/Makefile
index e70fbcd6d9..e56b2d7615 100644
--- a/openwrt/package/madwifi/Makefile
+++ b/openwrt/package/madwifi/Makefile
@@ -10,9 +10,9 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=madwifi
-PKG_VERSION:=0.9.0
+PKG_VERSION:=0.9.2
 PKG_RELEASE:=1
-PKG_MD5SUM:=9b558d1df84cab2b0006c595feee0fba
+PKG_MD5SUM:=a75baacbe07085ddc5cb28e1fb43edbb
 
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
@@ -20,6 +20,8 @@ PKG_CAT:=bzcat
 
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 
+RATE_CONTROL:=sample
+
 ifeq ($(ARCH),mips)
   HAL_TARGET:=mips-be-elf
 endif
@@ -53,14 +55,15 @@ ifeq ($(findstring PCI,$(BUS)),PCI)
 endif
 
 MADWIFI_MAKEOPTS= -C $(PKG_BUILD_DIR) \
+		PATH="$(TARGET_PATH)" \
 		ARCH="$(LINUX_KARCH)" \
 		CROSS_COMPILE="$(TARGET_CROSS)" \
-		CC="$(TARGET_CC)" \
 		TARGET="$(HAL_TARGET)" \
 		TOOLPREFIX="$(KERNEL_CROSS)" \
 		TOOLPATH="$(KERNEL_CROSS)" \
 		KERNELPATH="$(LINUX_DIR)" \
-		LDOPTS="" \
+		LDOPTS=" " \
+		ATH_RATE="ath_rate/$(RATE_CONTROL)" \
 		DOMULTI=1
 
 include $(INCLUDE_DIR)/package.mk
@@ -109,6 +112,7 @@ define Package/kmod-madwifi/install
 	mkdir -p $(1)/lib/modules/$(LINUX_VERSION)
 	mkdir -p $(1)/usr/sbin
 	install -m0644 ./files/madwifi.modules $(1)/etc/modules.d/20-madwifi
+	echo ath_rate_$(RATE_CONTROL) >> $(1)/etc/modules.d/20-madwifi
 ifeq ($(findstring AHB,$(BUS)),AHB)
 	echo ath_ahb >> $(1)/etc/modules.d/20-madwifi
 endif
@@ -117,9 +121,9 @@ ifeq ($(findstring PCI,$(BUS)),PCI)
 endif
 	install -m0755 ./files/madwifi.init $(1)/etc/init.d/S20madwifi
 	$(CP) \
-		$(PKG_BUILD_DIR)/ath_hal/ath_hal.$(LINUX_KMOD_SUFFIX) \
+		$(PKG_BUILD_DIR)/ath/ath_hal.$(LINUX_KMOD_SUFFIX) \
 		$(BUS_MODULES) \
-		$(PKG_BUILD_DIR)/ath_rate/sample/ath_rate_sample.$(LINUX_KMOD_SUFFIX) \
+		$(PKG_BUILD_DIR)/ath_rate/$(RATE_CONTROL)/ath_rate_$(RATE_CONTROL).$(LINUX_KMOD_SUFFIX) \
 		$(PKG_BUILD_DIR)/net80211/wlan*.$(LINUX_KMOD_SUFFIX) \
 		$(1)/lib/modules/$(LINUX_VERSION)/
 	$(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211debug,80211stats,athchans,athctrl,athdebug,athkey,athstats,wlanconfig} $(1)/usr/sbin/
diff --git a/openwrt/package/madwifi/patches/100-kernel_cflags.patch b/openwrt/package/madwifi/patches/100-kernel_cflags.patch
index ef283dd3f2..93319f47af 100644
--- a/openwrt/package/madwifi/patches/100-kernel_cflags.patch
+++ b/openwrt/package/madwifi/patches/100-kernel_cflags.patch
@@ -1,43 +1,42 @@
-diff -ru madwifi-ng-r1486-20060329/Makefile madwifi-ng-r1486-20060329-patch/Makefile
---- madwifi-ng-r1486-20060329/Makefile	2006-03-13 19:23:02.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/Makefile	2006-03-31 10:52:05.000000000 -0500
-@@ -51,7 +51,7 @@
- 
- all: modules tools
- 
--modules: configcheck svnversion.h
-+modules: svnversion.h
- 	mkdir -p ${SYMBOLSDIR}
- 	for i in ${DIRS_MODULES}; do \
- 		$(MAKE) -C $$i || exit 1; \
-diff -ru madwifi-ng-r1486-20060329/hal/public/mips-be-elf.inc madwifi-ng-r1486-20060329-patch/hal/public/mips-be-elf.inc
---- madwifi-ng-r1486-20060329/hal/public/mips-be-elf.inc	2006-03-28 03:46:27.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/hal/public/mips-be-elf.inc	2006-03-31 10:52:05.000000000 -0500
-@@ -66,5 +66,5 @@
+diff -ur madwifi.old/hal/public/mips-be-elf.inc madwifi.dev/hal/public/mips-be-elf.inc
+--- madwifi.old/hal/public/mips-be-elf.inc	2006-05-27 04:48:16.000000000 +0200
++++ madwifi.dev/hal/public/mips-be-elf.inc	2006-08-29 18:17:44.000000000 +0200
+@@ -71,5 +71,5 @@
  
  LDOPTS=	-EB
  COPTS+=	-DAH_BYTE_ORDER=AH_BIG_ENDIAN
--COPTS+=	-G 0 -EB -mno-abicalls -fno-pic -Wa,--trap \
-+COPTS+=	-G 0 -EB -mno-abicalls -fno-pic -Wa,--trap -mips32 \
+-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
-diff -ru madwifi-ng-r1486-20060329/hal/public/mips-le-elf.inc madwifi-ng-r1486-20060329-patch/hal/public/mips-le-elf.inc
---- madwifi-ng-r1486-20060329/hal/public/mips-le-elf.inc	2006-03-28 03:46:27.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/hal/public/mips-le-elf.inc	2006-03-31 10:52:05.000000000 -0500
-@@ -63,5 +63,5 @@
+diff -ur madwifi.old/hal/public/mips-le-elf.inc madwifi.dev/hal/public/mips-le-elf.inc
+--- madwifi.old/hal/public/mips-le-elf.inc	2006-05-27 04:48:16.000000000 +0200
++++ madwifi.dev/hal/public/mips-le-elf.inc	2006-08-29 18:17:57.000000000 +0200
+@@ -68,5 +68,5 @@
  
  LDOPTS=	-EL
  COPTS+=	-DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
--COPTS+=	-G 0 -EL -mno-abicalls -fno-pic -Wa,--trap \
-+COPTS+=	-G 0 -EL -mno-abicalls -fno-pic -Wa,--trap -mips32 \
+-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
-diff -ur madwifi-ng-r1486-20060329/hal/public/xscale-be-elf.inc madwifi-ng-r1486-20060329-patch/hal/public/xscale-be-elf.inc
---- madwifi-ng-r1486-20060329/hal/public/xscale-be-elf.inc	2006-02-11 13:04:39.000000000 +0100
-+++ madwifi-ng-r1486-20060329-patch/hal/public/xscale-be-elf.inc	2006-04-16 15:07:59.000000000 +0200
-@@ -72,5 +72,5 @@
+diff -ur madwifi.old/hal/public/xscale-be-elf.inc madwifi.dev/hal/public/xscale-be-elf.inc
+--- madwifi.old/hal/public/xscale-be-elf.inc	2006-05-27 04:48:16.000000000 +0200
++++ madwifi.dev/hal/public/xscale-be-elf.inc	2006-08-29 18:01:39.000000000 +0200
+@@ -77,5 +77,5 @@
  
  LDOPTS=	-EB
- COPTS+=	-DAH_BYTE_ORDER=AH_BIG_ENDIAN -DAH_REGOPS_FUNC
+ COPTS+=	-DAH_BYTE_ORDER=AH_BIG_ENDIAN
 -COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \
--	-mtune=xscale  -mshort-load-bytes -msoft-float -mfp=2
-+COPTS+= -mcpu=xscale -mbig-endian -fno-strict-aliasing -fno-common \
-+	-msoft-float -mfp=2
++COPTS+= -march=armv5te -mcpu=xscale -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \
+ 	-mtune=xscale  -mshort-load-bytes -msoft-float -mfp=2
+diff -ur madwifi.old/Makefile madwifi.dev/Makefile
+--- madwifi.old/Makefile	2006-07-14 07:15:56.000000000 +0200
++++ madwifi.dev/Makefile	2006-08-29 18:01:39.000000000 +0200
+@@ -54,7 +54,7 @@
+ 
+ all: modules tools
+ 
+-modules: configcheck svnversion.h
++modules: svnversion.h
+ ifdef LINUX24
+ 	for i in $(DIRS_MODULES); do \
+ 		$(MAKE) -C $$i || exit 1; \
diff --git a/openwrt/package/madwifi/patches/101-no_werror.patch b/openwrt/package/madwifi/patches/101-no_werror.patch
deleted file mode 100644
index 40eddc669f..0000000000
--- a/openwrt/package/madwifi/patches/101-no_werror.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru madwifi-ng-r1486-20060329/Makefile.inc madwifi-ng-r1486-20060329-patch/Makefile.inc
---- madwifi-ng-r1486-20060329/Makefile.inc	2006-03-21 15:21:12.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/Makefile.inc	2006-03-29 16:44:41.000000000 -0500
-@@ -193,7 +193,7 @@
- # 
- TOOLS=  ${DEPTH}/tools 
- 
--COPTS+=	-Werror
-+#COPTS+=	-Werror
- INCS=	-include ${obj}/${DEPTH}/include/compat.h -I${obj}/${DEPTH}/include
- 
- ifeq ($(strip ${BUS}),AHB)
diff --git a/openwrt/package/madwifi/patches/102-multicall_binary.patch b/openwrt/package/madwifi/patches/102-multicall_binary.patch
index 8f20e467b8..8fa65676d4 100644
--- a/openwrt/package/madwifi/patches/102-multicall_binary.patch
+++ b/openwrt/package/madwifi/patches/102-multicall_binary.patch
@@ -1,377 +1,6 @@
-diff -ruN madwifi-ng-r1486-20060329/102-multicall_binary.patch madwifi-ng-r1486-20060329-patch/102-multicall_binary.patch
---- madwifi-ng-r1486-20060329/102-multicall_binary.patch	1969-12-31 19:00:00.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/102-multicall_binary.patch	2006-03-31 10:58:27.000000000 -0500
-@@ -0,0 +1,367 @@
-+diff -urN madwifi-ng-r1416-20060126/tools/80211debug.c madwifi-ng-r1416-20060126-owrt/tools/80211debug.c
-+--- madwifi-ng-r1416-20060126/tools/80211debug.c	2005-11-23 22:23:20.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/80211debug.c	2006-01-26 11:26:44.000000000 +0100
-+@@ -49,6 +49,10 @@
-+ #include <getopt.h>
-+ #include <err.h>
-+ 
-++#ifdef DOMULTI
-++#include "do_multi.h"
-++#endif
-++
-+ #define	N(a)	(sizeof(a)/sizeof(a[0]))
-+ 
-+ const char *progname;
-+@@ -176,9 +180,19 @@
-+ }
-+ #endif /* __linux__ */
-+ 
-++#ifdef DOMULTI
-++
-++int
-++a80211debug_init(int argc, char *argv[])
-++{
-++
-++#else
-++
-+ int
-+ main(int argc, char *argv[])
-+ {
-++
-++#endif
-+ 	const char *ifname = "ath0";
-+ 	const char *cp, *tp;
-+ 	const char *sep;
-+diff -urN madwifi-ng-r1416-20060126/tools/80211stats.c madwifi-ng-r1416-20060126-owrt/tools/80211stats.c
-+--- madwifi-ng-r1416-20060126/tools/80211stats.c	2005-11-23 22:52:24.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/80211stats.c	2006-01-26 11:26:44.000000000 +0100
-+@@ -58,6 +58,10 @@
-+ #include "net80211/ieee80211_crypto.h"
-+ #include "net80211/ieee80211_ioctl.h"
-+ 
-++#ifdef DOMULTI
-++#include "do_multi.h"
-++#endif
-++
-+ #ifndef SIOCG80211STATS
-+ #define	SIOCG80211STATS	(SIOCDEVPRIVATE+2)
-+ #endif
-+@@ -239,9 +243,19 @@
-+ #undef STAT
-+ }
-+ 
-++#ifdef DOMULTI
-++
-++int
-++a80211stats_init(int argc, char *argv[])
-++{
-++
-++#else
-++
-+ int
-+ main(int argc, char *argv[])
-+ {
-++
-++#endif
-+ 	int c, len;
-+ 	struct ieee80211req_sta_info *si;
-+ 	u_int8_t buf[24*1024], *cp;
-+diff -urN madwifi-ng-r1416-20060126/tools/athchans.c madwifi-ng-r1416-20060126-owrt/tools/athchans.c
-+--- madwifi-ng-r1416-20060126/tools/athchans.c	2005-11-24 00:07:30.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/athchans.c	2006-01-26 11:26:44.000000000 +0100
-+@@ -57,6 +57,10 @@
-+ #include "net80211/ieee80211_crypto.h"
-+ #include "net80211/ieee80211_ioctl.h"
-+ 
-++#ifdef DOMULTI
-++#include "do_multi.h"
-++#endif
-++
-+ static	int s = -1;
-+ const char *progname;
-+ 
-+@@ -134,9 +138,20 @@
-+ }
-+ 
-+ #define	MAXCHAN	((int)(sizeof(struct ieee80211req_chanlist) * NBBY))
-++
-++#ifdef DOMULTI
-++
-++int
-++athchans_init(int argc, char *argv[])
-++{
-++
-++#else
-++
-+ int
-+ main(int argc, char *argv[])
-+ {
-++
-++#endif
-+ 	const char *ifname = "wifi0";
-+ 	struct ieee80211req_chanlist chanlist;
-+ 	int c;
-+diff -urN madwifi-ng-r1416-20060126/tools/athctrl.c madwifi-ng-r1416-20060126-owrt/tools/athctrl.c
-+--- madwifi-ng-r1416-20060126/tools/athctrl.c	2005-11-23 22:23:20.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/athctrl.c	2006-01-26 11:26:44.000000000 +0100
-+@@ -52,6 +52,10 @@
-+ 
-+ #include <net/if.h>
-+ 
-++#ifdef DOMULTI
-++#include "do_multi.h"
-++#endif
-++
-+ static int
-+ setsysctrl(const char *dev, const char *control , u_long value)
-+ {
-+@@ -83,9 +87,19 @@
-+     exit(1);
-+ }
-+ 
-++#ifdef DOMULTI
-++
-++int
-++athctrl_init(int argc, char *argv[])
-++{
-++
-++#else
-++
-+ int
-+ main(int argc, char *argv[])
-+ {
-++
-++#endif
-+ 	char device[IFNAMSIZ + 1];
-+ 	int distance = -1;
-+ 	int c;
-+diff -urN madwifi-ng-r1416-20060126/tools/athdebug.c madwifi-ng-r1416-20060126-owrt/tools/athdebug.c
-+--- madwifi-ng-r1416-20060126/tools/athdebug.c	2005-11-23 22:23:20.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/athdebug.c	2006-01-26 11:26:44.000000000 +0100
-+@@ -52,6 +52,10 @@
-+ #include <getopt.h>
-+ #include <err.h>
-+ 
-++#ifdef DOMULTI
-++#include "do_multi.h"
-++#endif
-++
-+ #define	N(a)	(sizeof(a)/sizeof(a[0]))
-+ 
-+ const char *progname;
-+@@ -170,9 +174,20 @@
-+ }
-+ #endif /* __linux__ */
-+ 
-++#ifdef DOMULTI
-++
-++int
-++athdebug_init(int argc, char *argv[])
-++{
-++
-++#else
-++
-+ int
-+ main(int argc, char *argv[])
-+ {
-++
-++#endif
-++
-+ #ifdef __linux__
-+ 	const char *ifname = "wifi0";
-+ #else
-+diff -urN madwifi-ng-r1416-20060126/tools/athkey.c madwifi-ng-r1416-20060126-owrt/tools/athkey.c
-+--- madwifi-ng-r1416-20060126/tools/athkey.c	2005-11-24 00:07:30.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/athkey.c	2006-01-26 11:26:44.000000000 +0100
-+@@ -57,6 +57,10 @@
-+ #include "net80211/ieee80211_crypto.h"
-+ #include "net80211/ieee80211_ioctl.h"
-+ 
-++#ifdef DOMULTI
-++#include "do_multi.h"
-++#endif
-++
-+ static	int s = -1;
-+ const char *progname;
-+ 
-+@@ -207,9 +211,19 @@
-+ 	exit(-1);
-+ }
-+ 
-++#ifdef DOMULTI
-++
-++int
-++athkey_init(int argc, char *argv[])
-++{
-++
-++#else
-++
-+ int
-+ main(int argc, char *argv[])
-+ {
-++
-++#endif
-+ 	const char *ifname = "wifi0";
-+ 	struct ieee80211req_key setkey;
-+ 	struct ieee80211req_del_key delkey;
-+diff -urN madwifi-ng-r1416-20060126/tools/athstats.c madwifi-ng-r1416-20060126-owrt/tools/athstats.c
-+--- madwifi-ng-r1416-20060126/tools/athstats.c	2006-01-16 09:59:07.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/athstats.c	2006-01-26 11:26:44.000000000 +0100
-+@@ -64,6 +64,10 @@
-+ #include "ah_desc.h"
-+ #include "if_athioctl.h"
-+ 
-++#ifdef DOMULTI
-++#include "do_multi.h"
-++#endif
-++
-+ static const struct {
-+ 	u_int		phyerr;
-+ 	const char*	desc;
-+@@ -242,9 +246,20 @@
-+ 	signalled = 1;
-+ }
-+ 
-++#ifdef DOMULTI
-++
-++int
-++athstats_init(int argc, char *argv[])
-++{
-++
-++#else
-++
-+ int
-+ main(int argc, char *argv[])
-+ {
-++
-++#endif
-++
-+ #ifdef __linux__
-+ 	const char *ifname = "wifi0";
-+ #else
-+diff -urN madwifi-ng-r1416-20060126/tools/do_multi.c madwifi-ng-r1416-20060126-owrt/tools/do_multi.c
-+--- madwifi-ng-r1416-20060126/tools/do_multi.c	1970-01-01 01:00:00.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/do_multi.c	2006-01-26 11:26:44.000000000 +0100
-+@@ -0,0 +1,30 @@
-++#include <string.h>
-++#include "do_multi.h"
-++
-++int
-++main(int argc, char *argv[])
-++{
-++    char *progname;
-++    int ret = 0;
-++
-++    progname = basename(argv[0]);
-++
-++    if(strcmp(progname, "80211debug") == 0)
-++	ret = a80211debug_init(argc, argv);
-++    if(strcmp(progname, "80211stats") == 0)
-++	ret = a80211stats_init(argc, argv);
-++    if(strcmp(progname, "athchans") == 0)
-++	ret = athchans_init(argc, argv);
-++    if(strcmp(progname, "athctrl") == 0)
-++	ret =  athctrl_init(argc, argv);
-++    if(strcmp(progname, "athdebug") == 0)
-++	ret =  athdebug_init(argc, argv);
-++    if(strcmp(progname, "athkey") == 0)
-++	ret =  athkey_init(argc, argv);
-++    if(strcmp(progname, "athstats") == 0)
-++	ret =  athstats_init(argc, argv);
-++    if(strcmp(progname, "wlanconfig") == 0)
-++	ret =  wlanconfig_init(argc, argv);
-++    
-++    return ret;
-++}
-+diff -urN madwifi-ng-r1416-20060126/tools/do_multi.h madwifi-ng-r1416-20060126-owrt/tools/do_multi.h
-+--- madwifi-ng-r1416-20060126/tools/do_multi.h	1970-01-01 01:00:00.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/do_multi.h	2006-01-26 11:26:44.000000000 +0100
-+@@ -0,0 +1,9 @@
-++
-++int a80211debug_init(int argc, char *argv[]);
-++int a80211stats_init(int argc, char *argv[]);
-++int athchans_init(int argc, char *argv[]);
-++int athctrl_init(int argc, char *argv[]);
-++int athdebug_init(int argc, char *argv[]);
-++int athkey_init(int argc, char *argv[]);
-++int athstats_init(int argc, char *argv[]);
-++int wlanconfig_init(int argc, char *argv[]);
-+diff -urN madwifi-ng-r1416-20060126/tools/Makefile madwifi-ng-r1416-20060126-owrt/tools/Makefile
-+--- madwifi-ng-r1416-20060126/tools/Makefile	2006-01-04 09:16:11.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/Makefile	2006-01-26 14:52:45.000000000 +0100
-+@@ -50,6 +50,12 @@
-+ 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:	${ALL}
-+ 
-+ INCS+=	-I. -I${HAL} -I${DEPTH}
-+@@ -59,6 +65,28 @@
-+ 
-+ all:	${ALL}
-+ 
-++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
-++athkey.o: athkey.c
-++	${CC} -c -o athkey.o -DDOMULTI=1 ${ALL_CFLAGS} athkey.c
-++athchans.o: athchans.c
-++	${CC} -c -o athchans.o -DDOMULTI=1 ${ALL_CFLAGS} athchans.c
-++athctrl.o: athctrl.c
-++	${CC} -c -o athctrl.o -DDOMULTI=1 ${ALL_CFLAGS} athctrl.c
-++athdebug.o: athdebug.c
-++	${CC} -c -o athdebug.o -DDOMULTI=1 ${ALL_CFLAGS} athdebug.c
-++wlanconfig.o: wlanconfig.c
-++	${CC} -c -o wlanconfig.o -DDOMULTI=1 ${ALL_CFLAGS} wlanconfig.c
-++80211debug.o: 80211debug.c
-++	${CC} -c -o 80211debug.o -DDOMULTI=1 ${ALL_CFLAGS} 80211debug.c
-++madwifi_multi:
-++	${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../ath ${LDFLAGS} athstats.c
-+ 80211stats: 80211stats.c
-+diff -urN madwifi-ng-r1416-20060126/tools/wlanconfig.c madwifi-ng-r1416-20060126-owrt/tools/wlanconfig.c
-+--- madwifi-ng-r1416-20060126/tools/wlanconfig.c	2006-01-22 10:58:31.000000000 +0100
-++++ madwifi-ng-r1416-20060126-owrt/tools/wlanconfig.c	2006-01-26 11:26:44.000000000 +0100
-+@@ -57,6 +57,10 @@
-+ #include "net80211/ieee80211_crypto.h"
-+ #include "net80211/ieee80211_ioctl.h"
-+ 
-++#ifdef DOMULTI
-++#include "do_multi.h"
-++#endif
-++
-+ /*
-+  * These are taken from ieee80211_node.h
-+  */
-+@@ -91,9 +95,19 @@
-+ 
-+ int	verbose = 0;
-+ 
-++#ifdef DOMULTI
-++
-++int
-++wlanconfig_init(int argc, char *argv[])
-++{
-++
-++#else
-++
-+ int
-+ main(int argc, char *argv[])
-+ {
-++
-++#endif
-+ 	const char *ifname, *cmd;
-+ 
-+ 	if (argc < 2)
-diff -ruN madwifi-ng-r1486-20060329/tools/80211debug.c madwifi-ng-r1486-20060329-patch/tools/80211debug.c
---- madwifi-ng-r1486-20060329/tools/80211debug.c	2006-03-10 08:23:50.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/80211debug.c	2006-03-31 10:58:27.000000000 -0500
+diff -urN madwifi-0.9.2.old/tools/80211debug.c madwifi-0.9.2.dev/tools/80211debug.c
+--- madwifi-0.9.2.old/tools/80211debug.c	2006-03-10 14:23:50.000000000 +0100
++++ madwifi-0.9.2.dev/tools/80211debug.c	2006-08-29 17:49:50.000000000 +0200
 @@ -49,6 +49,10 @@
  #include <getopt.h>
  #include <err.h>
@@ -403,9 +32,9 @@ diff -ruN madwifi-ng-r1486-20060329/tools/80211debug.c madwifi-ng-r1486-20060329
  	const char *ifname = "ath0";
  	const char *cp, *tp;
  	const char *sep;
-diff -ruN madwifi-ng-r1486-20060329/tools/80211stats.c madwifi-ng-r1486-20060329-patch/tools/80211stats.c
---- madwifi-ng-r1486-20060329/tools/80211stats.c	2006-03-10 08:23:50.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/80211stats.c	2006-03-31 10:58:27.000000000 -0500
+diff -urN madwifi-0.9.2.old/tools/80211stats.c madwifi-0.9.2.dev/tools/80211stats.c
+--- madwifi-0.9.2.old/tools/80211stats.c	2006-05-27 08:21:18.000000000 +0200
++++ madwifi-0.9.2.dev/tools/80211stats.c	2006-08-29 17:49:50.000000000 +0200
 @@ -58,6 +58,10 @@
  #include "net80211/ieee80211_crypto.h"
  #include "net80211/ieee80211_ioctl.h"
@@ -437,56 +66,9 @@ diff -ruN madwifi-ng-r1486-20060329/tools/80211stats.c madwifi-ng-r1486-20060329
  	int c, len;
  	struct ieee80211req_sta_info *si;
  	u_int8_t buf[24*1024], *cp;
-diff -ruN madwifi-ng-r1486-20060329/tools/Makefile madwifi-ng-r1486-20060329-patch/tools/Makefile
---- madwifi-ng-r1486-20060329/tools/Makefile	2006-01-04 03:16:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/Makefile	2006-03-31 10:58:27.000000000 -0500
-@@ -50,6 +50,12 @@
- 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:	${ALL}
- 
- INCS+=	-I. -I${HAL} -I${DEPTH}
-@@ -59,6 +65,30 @@
- 
- all:	${ALL}
- 
-+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
-+athkey.o: athkey.c
-+	${CC} -c -o athkey.o -DDOMULTI=1 ${ALL_CFLAGS} athkey.c
-+athchans.o: athchans.c
-+	${CC} -c -o athchans.o -DDOMULTI=1 ${ALL_CFLAGS} athchans.c
-+athctrl.o: athctrl.c
-+	${CC} -c -o athctrl.o -DDOMULTI=1 ${ALL_CFLAGS} athctrl.c
-+athdebug.o: athdebug.c
-+	${CC} -c -o athdebug.o -DDOMULTI=1 ${ALL_CFLAGS} athdebug.c
-+wlanconfig.o: wlanconfig.c
-+	${CC} -c -o wlanconfig.o -DDOMULTI=1 ${ALL_CFLAGS} wlanconfig.c
-+80211debug.o: 80211debug.c
-+	${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:
-+	${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../ath ${LDFLAGS} athstats.c
- 80211stats: 80211stats.c
-diff -ruN madwifi-ng-r1486-20060329/tools/athchans.c madwifi-ng-r1486-20060329-patch/tools/athchans.c
---- madwifi-ng-r1486-20060329/tools/athchans.c	2006-02-01 15:07:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athchans.c	2006-03-31 10:58:27.000000000 -0500
+diff -urN madwifi-0.9.2.old/tools/athchans.c madwifi-0.9.2.dev/tools/athchans.c
+--- madwifi-0.9.2.old/tools/athchans.c	2006-02-01 21:07:11.000000000 +0100
++++ madwifi-0.9.2.dev/tools/athchans.c	2006-08-29 17:49:50.000000000 +0200
 @@ -57,6 +57,10 @@
  #include "net80211/ieee80211_crypto.h"
  #include "net80211/ieee80211_ioctl.h"
@@ -519,9 +101,9 @@ diff -ruN madwifi-ng-r1486-20060329/tools/athchans.c madwifi-ng-r1486-20060329-p
  	const char *ifname = "wifi0";
  	struct ieee80211req_chanlist chanlist;
  	int c;
-diff -ruN madwifi-ng-r1486-20060329/tools/athctrl.c madwifi-ng-r1486-20060329-patch/tools/athctrl.c
---- madwifi-ng-r1486-20060329/tools/athctrl.c	2006-02-03 07:03:03.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athctrl.c	2006-03-31 10:58:27.000000000 -0500
+diff -urN madwifi-0.9.2.old/tools/athctrl.c madwifi-0.9.2.dev/tools/athctrl.c
+--- madwifi-0.9.2.old/tools/athctrl.c	2006-02-03 13:03:03.000000000 +0100
++++ madwifi-0.9.2.dev/tools/athctrl.c	2006-08-29 17:49:50.000000000 +0200
 @@ -53,6 +53,10 @@
  
  #include <net/if.h>
@@ -553,9 +135,9 @@ diff -ruN madwifi-ng-r1486-20060329/tools/athctrl.c madwifi-ng-r1486-20060329-pa
  	char device[IFNAMSIZ + 1];
  	int distance = -1;
  	int c;
-diff -ruN madwifi-ng-r1486-20060329/tools/athdebug.c madwifi-ng-r1486-20060329-patch/tools/athdebug.c
---- madwifi-ng-r1486-20060329/tools/athdebug.c	2006-03-10 08:23:50.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athdebug.c	2006-03-31 10:58:27.000000000 -0500
+diff -urN madwifi-0.9.2.old/tools/athdebug.c madwifi-0.9.2.dev/tools/athdebug.c
+--- madwifi-0.9.2.old/tools/athdebug.c	2006-05-05 06:17:59.000000000 +0200
++++ madwifi-0.9.2.dev/tools/athdebug.c	2006-08-29 17:49:50.000000000 +0200
 @@ -52,6 +52,10 @@
  #include <getopt.h>
  #include <err.h>
@@ -567,7 +149,7 @@ diff -ruN madwifi-ng-r1486-20060329/tools/athdebug.c madwifi-ng-r1486-20060329-p
  #define	N(a)	(sizeof(a)/sizeof(a[0]))
  
  const char *progname;
-@@ -171,9 +175,20 @@
+@@ -179,9 +183,20 @@
  }
  #endif /* __linux__ */
  
@@ -588,9 +170,9 @@ diff -ruN madwifi-ng-r1486-20060329/tools/athdebug.c madwifi-ng-r1486-20060329-p
  #ifdef __linux__
  	const char *ifname = "wifi0";
  #else
-diff -ruN madwifi-ng-r1486-20060329/tools/athkey.c madwifi-ng-r1486-20060329-patch/tools/athkey.c
---- madwifi-ng-r1486-20060329/tools/athkey.c	2006-02-01 15:07:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athkey.c	2006-03-31 10:58:27.000000000 -0500
+diff -urN madwifi-0.9.2.old/tools/athkey.c madwifi-0.9.2.dev/tools/athkey.c
+--- madwifi-0.9.2.old/tools/athkey.c	2006-02-01 21:07:11.000000000 +0100
++++ madwifi-0.9.2.dev/tools/athkey.c	2006-08-29 17:49:50.000000000 +0200
 @@ -57,6 +57,10 @@
  #include "net80211/ieee80211_crypto.h"
  #include "net80211/ieee80211_ioctl.h"
@@ -622,9 +204,9 @@ diff -ruN madwifi-ng-r1486-20060329/tools/athkey.c madwifi-ng-r1486-20060329-pat
  	const char *ifname = "wifi0";
  	struct ieee80211req_key setkey;
  	struct ieee80211req_del_key delkey;
-diff -ruN madwifi-ng-r1486-20060329/tools/athstats.c madwifi-ng-r1486-20060329-patch/tools/athstats.c
---- madwifi-ng-r1486-20060329/tools/athstats.c	2006-02-01 15:07:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/athstats.c	2006-03-31 10:58:27.000000000 -0500
+diff -urN madwifi-0.9.2.old/tools/athstats.c madwifi-0.9.2.dev/tools/athstats.c
+--- madwifi-0.9.2.old/tools/athstats.c	2006-05-05 06:20:50.000000000 +0200
++++ madwifi-0.9.2.dev/tools/athstats.c	2006-08-29 17:49:50.000000000 +0200
 @@ -64,6 +64,10 @@
  #include "ah_desc.h"
  #include "if_athioctl.h"
@@ -636,7 +218,7 @@ diff -ruN madwifi-ng-r1486-20060329/tools/athstats.c madwifi-ng-r1486-20060329-p
  static const struct {
  	u_int		phyerr;
  	const char*	desc;
-@@ -242,9 +246,20 @@
+@@ -227,9 +231,20 @@
  	signalled = 1;
  }
  
@@ -657,9 +239,9 @@ diff -ruN madwifi-ng-r1486-20060329/tools/athstats.c madwifi-ng-r1486-20060329-p
  #ifdef __linux__
  	const char *ifname = "wifi0";
  #else
-diff -ruN madwifi-ng-r1486-20060329/tools/do_multi.c madwifi-ng-r1486-20060329-patch/tools/do_multi.c
---- madwifi-ng-r1486-20060329/tools/do_multi.c	1969-12-31 19:00:00.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/do_multi.c	2006-03-31 10:58:27.000000000 -0500
+diff -urN madwifi-0.9.2.old/tools/do_multi.c madwifi-0.9.2.dev/tools/do_multi.c
+--- madwifi-0.9.2.old/tools/do_multi.c	1970-01-01 01:00:00.000000000 +0100
++++ madwifi-0.9.2.dev/tools/do_multi.c	2006-08-29 17:49:50.000000000 +0200
 @@ -0,0 +1,30 @@
 +#include <string.h>
 +#include "do_multi.h"
@@ -691,9 +273,9 @@ diff -ruN madwifi-ng-r1486-20060329/tools/do_multi.c madwifi-ng-r1486-20060329-p
 +    
 +    return ret;
 +}
-diff -ruN madwifi-ng-r1486-20060329/tools/do_multi.h madwifi-ng-r1486-20060329-patch/tools/do_multi.h
---- madwifi-ng-r1486-20060329/tools/do_multi.h	1969-12-31 19:00:00.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/do_multi.h	2006-03-31 10:58:27.000000000 -0500
+diff -urN madwifi-0.9.2.old/tools/do_multi.h madwifi-0.9.2.dev/tools/do_multi.h
+--- madwifi-0.9.2.old/tools/do_multi.h	1970-01-01 01:00:00.000000000 +0100
++++ madwifi-0.9.2.dev/tools/do_multi.h	2006-08-29 17:49:50.000000000 +0200
 @@ -0,0 +1,9 @@
 +
 +int a80211debug_init(int argc, char *argv[]);
@@ -704,10 +286,57 @@ diff -ruN madwifi-ng-r1486-20060329/tools/do_multi.h madwifi-ng-r1486-20060329-p
 +int athkey_init(int argc, char *argv[]);
 +int athstats_init(int argc, char *argv[]);
 +int wlanconfig_init(int argc, char *argv[]);
-diff -ruN madwifi-ng-r1486-20060329/tools/wlanconfig.c madwifi-ng-r1486-20060329-patch/tools/wlanconfig.c
---- madwifi-ng-r1486-20060329/tools/wlanconfig.c	2006-02-01 15:07:11.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/tools/wlanconfig.c	2006-03-31 10:58:27.000000000 -0500
-@@ -59,6 +59,10 @@
+diff -urN madwifi-0.9.2.old/tools/Makefile madwifi-0.9.2.dev/tools/Makefile
+--- madwifi-0.9.2.old/tools/Makefile	2006-07-14 07:15:56.000000000 +0200
++++ madwifi-0.9.2.dev/tools/Makefile	2006-08-29 17:49:50.000000000 +0200
+@@ -49,6 +49,12 @@
+ 
+ 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:	$(ALL)
+ 
+@@ -59,6 +65,30 @@
+ 
+ all:	$(ALL)
+ 
++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
++athkey.o: athkey.c
++	${CC} -c -o athkey.o -DDOMULTI=1 ${ALL_CFLAGS} athkey.c
++athchans.o: athchans.c
++	${CC} -c -o athchans.o -DDOMULTI=1 ${ALL_CFLAGS} athchans.c
++athctrl.o: athctrl.c
++	${CC} -c -o athctrl.o -DDOMULTI=1 ${ALL_CFLAGS} athctrl.c
++athdebug.o: athdebug.c
++	${CC} -c -o athdebug.o -DDOMULTI=1 ${ALL_CFLAGS} athdebug.c
++wlanconfig.o: wlanconfig.c
++	${CC} -c -o wlanconfig.o -DDOMULTI=1 ${ALL_CFLAGS} wlanconfig.c
++80211debug.o: 80211debug.c
++	${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:
++	${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../ath $(LDFLAGS) athstats.c
+ 80211stats: 80211stats.c
+diff -urN madwifi-0.9.2.old/tools/wlanconfig.c madwifi-0.9.2.dev/tools/wlanconfig.c
+--- madwifi-0.9.2.old/tools/wlanconfig.c	2006-05-14 09:17:29.000000000 +0200
++++ madwifi-0.9.2.dev/tools/wlanconfig.c	2006-08-29 17:49:50.000000000 +0200
+@@ -60,6 +60,10 @@
  #include "net80211/ieee80211_crypto.h"
  #include "net80211/ieee80211_ioctl.h"
  
@@ -718,7 +347,7 @@ diff -ruN madwifi-ng-r1486-20060329/tools/wlanconfig.c madwifi-ng-r1486-20060329
  /*
   * These are taken from ieee80211_node.h
   */
-@@ -92,9 +96,19 @@
+@@ -96,9 +100,19 @@
  
  int verbose = 0;
  
@@ -736,5 +365,5 @@ diff -ruN madwifi-ng-r1486-20060329/tools/wlanconfig.c madwifi-ng-r1486-20060329
 +
 +#endif
  	const char *ifname, *cmd;
- 
- 	if (argc < 2)
+ 	unsigned char bnounit = 0;
+ 	char *if_base = NULL;
diff --git a/openwrt/package/madwifi/patches/103-disable_rfkill.patch b/openwrt/package/madwifi/patches/103-disable_rfkill.patch
index f5b3de1458..80a45e31d3 100644
--- a/openwrt/package/madwifi/patches/103-disable_rfkill.patch
+++ b/openwrt/package/madwifi/patches/103-disable_rfkill.patch
@@ -1,7 +1,7 @@
-diff -urN madwifi.old/ath/if_ath.c madwifi.dev/ath/if_ath.c
---- madwifi.old/ath/if_ath.c	2006-06-08 17:20:12.000000000 +0200
-+++ madwifi.dev/ath/if_ath.c	2006-06-08 18:30:10.000000000 +0200
-@@ -252,7 +252,7 @@
+diff -urN madwifi-0.9.2.old/ath/if_ath.c madwifi-0.9.2.dev/ath/if_ath.c
+--- madwifi-0.9.2.old/ath/if_ath.c	2006-07-08 08:47:19.000000000 +0200
++++ madwifi-0.9.2.dev/ath/if_ath.c	2006-08-29 17:49:50.000000000 +0200
+@@ -251,7 +251,7 @@
  static int ath_outdoor = AH_FALSE;		/* enable outdoor use */
  static int ath_xchanmode = AH_TRUE;		/* enable extended channels */
  static char *autocreate = NULL;
diff --git a/openwrt/package/madwifi/patches/104-apmode_by_default.patch b/openwrt/package/madwifi/patches/104-apmode_by_default.patch
index bce07b50a0..fc5cb978b0 100644
--- a/openwrt/package/madwifi/patches/104-apmode_by_default.patch
+++ b/openwrt/package/madwifi/patches/104-apmode_by_default.patch
@@ -1,7 +1,7 @@
-diff -ruN madwifi-ng-r1486-20060329/ath/if_ath.c madwifi-ng-r1486-20060329-patch/ath/if_ath.c
---- madwifi-ng-r1486-20060329/ath/if_ath.c	2006-03-23 15:12:18.000000000 -0500
-+++ madwifi-ng-r1486-20060329-patch/ath/if_ath.c	2006-03-31 11:00:30.000000000 -0500
-@@ -388,7 +388,7 @@
+diff -urN madwifi-0.9.2.old/ath/if_ath.c madwifi-0.9.2.dev/ath/if_ath.c
+--- madwifi-0.9.2.old/ath/if_ath.c	2006-08-29 17:49:50.000000000 +0200
++++ madwifi-0.9.2.dev/ath/if_ath.c	2006-08-29 17:49:50.000000000 +0200
+@@ -387,7 +387,7 @@
  	struct ath_hal *ah;
  	HAL_STATUS status;
  	int error = 0, i;
diff --git a/openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch b/openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch
deleted file mode 100644
index fa439c6e96..0000000000
--- a/openwrt/package/madwifi/patches/105-no_forced_aes_dep.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -urN madwifi.old/net80211/ieee80211_crypto_ccmp.c madwifi.dev/net80211/ieee80211_crypto_ccmp.c
---- madwifi.old/net80211/ieee80211_crypto_ccmp.c	2006-02-06 21:20:57.000000000 +0100
-+++ madwifi.dev/net80211/ieee80211_crypto_ccmp.c	2006-06-12 22:29:23.000000000 +0200
-@@ -105,12 +105,6 @@
- 
- 	ctx->cc_vap = vap;
- 	ctx->cc_ic = vap->iv_ic;
--	ctx->cc_tfm = crypto_alloc_tfm("aes", 0);
--	if (ctx->cc_tfm == NULL) {
--		FREE(ctx, M_DEVBUF);
--		_MOD_DEC_USE(THIS_MODULE);
--		return NULL;
--	}
- 	return ctx;
- }
- 
-@@ -137,8 +131,21 @@
- 			__func__, k->wk_keylen, 128 / NBBY);
- 		return 0;
- 	}
--	if (k->wk_flags & IEEE80211_KEY_SWCRYPT)
-+
-+	if (k->wk_flags & IEEE80211_KEY_SWCRYPT) {
-+		if (ctx->cc_tfm == NULL)
-+			ctx->cc_tfm = crypto_alloc_tfm("aes", 0);
-+
-+		if (ctx->cc_tfm == NULL) {
-+			IEEE80211_DPRINTF(ctx->cc_vap, IEEE80211_MSG_CRYPTO,
-+				"%s: Tried to add a software crypto key, but no software crypto available\n",
-+				__func__);
-+		
-+			return 0;
-+		}
-+
- 		crypto_cipher_setkey(ctx->cc_tfm, k->wk_key, k->wk_keylen);
-+	}
- 	return 1;
- }
- 
diff --git a/openwrt/package/madwifi/patches/106-slab_fix.patch b/openwrt/package/madwifi/patches/106-slab_fix.patch
deleted file mode 100644
index 8de7dc7e43..0000000000
--- a/openwrt/package/madwifi/patches/106-slab_fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ruN madwifi-ng-r1590-20060523/net80211/ieee80211_linux.c madwifi-ng-r1590-20060523-patch/net80211/ieee80211_linux.c
---- madwifi-ng-r1590-20060523/net80211/ieee80211_linux.c	2006-06-13 14:26:25 -04:00
-+++ madwifi-ng-r1590-20060523-patch/net80211/ieee80211_linux.c	2006-06-13 14:26:41 -04:00
-@@ -44,6 +44,7 @@
- #include <linux/etherdevice.h>
- #include <linux/if_vlan.h>
- #include <linux/vmalloc.h>
-+#include <linux/slab.h>
- 
- #include <net/iw_handler.h>
- #include <linux/wireless.h>