From 9f73ab51f3d95cfc04f5a507788c9301d9ddb471 Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Sat, 20 Oct 2007 19:13:53 +0000
Subject: [PATCH] refreshed madwifi patches

SVN-Revision: 9380
---
 include/package.mk                            |  6 ++-
 .../madwifi/patches/100-kernel_cflags.patch   | 12 ++---
 .../patches/102-multicall_binary.patch        | 40 +++++++-------
 .../madwifi/patches/104-autocreate_none.patch |  4 +-
 .../madwifi/patches/105-ratectl_attach.patch  |  4 +-
 .../madwifi/patches/110-init_fix_PR_914.patch |  4 +-
 .../madwifi/patches/111-minstrel_crash.patch  |  4 +-
 .../madwifi/patches/112-keycache_PR_962.patch | 12 ++---
 .../madwifi/patches/113-no_ibss_pwrsave.patch |  4 +-
 .../patches/116-adhoc_beacon_PR_1033.patch    |  4 +-
 package/madwifi/patches/120-soc_fix.patch     |  4 +-
 package/madwifi/patches/121-ibss_hostap.patch | 20 +++----
 .../patches/122-replayfail_workaround.patch   |  4 +-
 package/madwifi/patches/123-ccmp_checks.patch |  4 +-
 .../madwifi/patches/124-linux24_compat.patch  |  4 +-
 package/madwifi/patches/125-tpc_PR_1435.patch |  8 +--
 .../madwifi/patches/126-rxerr_frames.patch    |  4 +-
 package/madwifi/patches/127-beacon_node.patch |  4 +-
 .../madwifi/patches/128-adhoc_memleak.patch   |  8 +--
 package/madwifi/patches/129-rxant_r2591.patch |  4 +-
 .../130-chanswitch_beacon_fix_PR_1477.patch   |  6 +--
 .../patches/131-minstrel_rateidx.patch        |  4 +-
 package/madwifi/patches/200-no_debug.patch    | 36 ++++++-------
 .../madwifi/patches/300-napi_polling.patch    | 40 +++++++-------
 package/madwifi/patches/301-tx_locking.patch  | 20 +++----
 package/madwifi/patches/305-pureg_fix.patch   | 22 ++++----
 .../patches/306-mib_intr_workaround.patch     |  8 +--
 .../madwifi/patches/309-micfail_detect.patch  | 52 +++++++++----------
 .../patches/310-erp_beacon_check.patch        |  6 +--
 package/madwifi/patches/320-karma.patch       | 24 ++++++---
 rules.mk                                      |  4 ++
 target/linux/atheros/config-2.6.23            |  1 +
 32 files changed, 199 insertions(+), 182 deletions(-)

diff --git a/include/package.mk b/include/package.mk
index a9819642dd..7ae0c6a256 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -123,7 +123,11 @@ define libtool_fixup_libdir
 endef
 
 define pkg_install_files
-	$(foreach install_file,$(3),$(INSTALL_DIR) $(2)/`dirname $(install_file)`; $(CP) $(1)/$(install_file) $(2)/`dirname $(install_file)`;)
+	$(foreach install_file,$(1),$(INSTALL_DIR) $(3)/`dirname $(install_file)`; $(INSTALL_DATA) $(2)/$(install_file) $(3)/`dirname $(install_file)`;)
+endef
+
+define pkg_install_bin
+	$(foreach install_apps,$(1),$(INSTALL_DIR) $(3)/`dirname $(install_file)`; $(INSTALL_BIN) $(2)/$(install_file) $(3)/`dirname $(install_file)`;)
 endef
 
 define Build/Prepare
diff --git a/package/madwifi/patches/100-kernel_cflags.patch b/package/madwifi/patches/100-kernel_cflags.patch
index 7956abc9d7..2c3016f08c 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/hal/public/mips-be-elf.inc	2007-07-23 01:48:38.974201182 +0200
-+++ madwifi-ng-r2568-20070710/hal/public/mips-be-elf.inc	2007-07-23 01:48:39.166212125 +0200
+--- 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
 @@ -71,5 +71,5 @@
  
  LDOPTS=	-EB
@@ -11,8 +11,8 @@ Index: madwifi-ng-r2568-20070710/hal/public/mips-be-elf.inc
  	-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
 Index: madwifi-ng-r2568-20070710/hal/public/mips-le-elf.inc
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/hal/public/mips-le-elf.inc	2007-07-23 01:48:38.982201640 +0200
-+++ madwifi-ng-r2568-20070710/hal/public/mips-le-elf.inc	2007-07-23 01:48:39.170212355 +0200
+--- 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
 @@ -68,5 +68,5 @@
  
  LDOPTS=	-EL
@@ -22,8 +22,8 @@ Index: madwifi-ng-r2568-20070710/hal/public/mips-le-elf.inc
  	-fno-strict-aliasing -fno-common -fomit-frame-pointer -mlong-calls
 Index: madwifi-ng-r2568-20070710/hal/public/xscale-be-elf.inc
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/hal/public/xscale-be-elf.inc	2007-07-23 01:48:38.990202093 +0200
-+++ madwifi-ng-r2568-20070710/hal/public/xscale-be-elf.inc	2007-07-23 01:48:39.194213721 +0200
+--- 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
 @@ -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 bd31d96576..f5bfc5179a 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/80211debug.c	2007-07-23 01:48:38.846193887 +0200
-+++ madwifi-ng-r2568-20070710/tools/80211debug.c	2007-07-23 01:48:39.578235605 +0200
+--- 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
 @@ -49,6 +49,10 @@
  #include <getopt.h>
  #include <err.h>
@@ -35,8 +35,8 @@ Index: madwifi-ng-r2568-20070710/tools/80211debug.c
  	const char *sep;
 Index: madwifi-ng-r2568-20070710/tools/80211stats.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/80211stats.c	2007-07-23 01:48:38.854194346 +0200
-+++ madwifi-ng-r2568-20070710/tools/80211stats.c	2007-07-23 01:48:39.578235605 +0200
+--- 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
 @@ -60,6 +60,10 @@
  #include "net80211/ieee80211_crypto.h"
  #include "net80211/ieee80211_ioctl.h"
@@ -70,8 +70,8 @@ Index: madwifi-ng-r2568-20070710/tools/80211stats.c
  	u_int8_t buf[24*1024], *cp;
 Index: madwifi-ng-r2568-20070710/tools/athchans.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/athchans.c	2007-07-23 01:48:38.858194572 +0200
-+++ madwifi-ng-r2568-20070710/tools/athchans.c	2007-07-23 01:48:39.598236745 +0200
+--- 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
 @@ -59,6 +59,10 @@
  #include "net80211/ieee80211_crypto.h"
  #include "net80211/ieee80211_ioctl.h"
@@ -106,8 +106,8 @@ Index: madwifi-ng-r2568-20070710/tools/athchans.c
  	int c;
 Index: madwifi-ng-r2568-20070710/tools/athctrl.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/athctrl.c	2007-07-23 01:48:38.866195027 +0200
-+++ madwifi-ng-r2568-20070710/tools/athctrl.c	2007-07-23 01:48:39.626238340 +0200
+--- 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
 @@ -53,6 +53,10 @@
  
  #include <net/if.h>
@@ -141,8 +141,8 @@ Index: madwifi-ng-r2568-20070710/tools/athctrl.c
  	int c;
 Index: madwifi-ng-r2568-20070710/tools/athdebug.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/athdebug.c	2007-07-23 01:48:38.874195486 +0200
-+++ madwifi-ng-r2568-20070710/tools/athdebug.c	2007-07-23 01:48:39.650239706 +0200
+--- 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
 @@ -52,6 +52,10 @@
  #include <getopt.h>
  #include <err.h>
@@ -177,8 +177,8 @@ Index: madwifi-ng-r2568-20070710/tools/athdebug.c
  #else
 Index: madwifi-ng-r2568-20070710/tools/athkey.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/athkey.c	2007-07-23 01:48:38.878195712 +0200
-+++ madwifi-ng-r2568-20070710/tools/athkey.c	2007-07-23 01:48:39.698242443 +0200
+--- 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
 @@ -59,6 +59,10 @@
  #include "net80211/ieee80211_crypto.h"
  #include "net80211/ieee80211_ioctl.h"
@@ -212,8 +212,8 @@ Index: madwifi-ng-r2568-20070710/tools/athkey.c
  	struct ieee80211req_del_key delkey;
 Index: madwifi-ng-r2568-20070710/tools/athstats.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/athstats.c	2007-07-23 01:48:38.886196167 +0200
-+++ madwifi-ng-r2568-20070710/tools/athstats.c	2007-07-23 01:48:39.726244040 +0200
+--- 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
 @@ -63,6 +63,10 @@
  #include "wireless_copy.h"
  #include "if_athioctl.h"
@@ -249,7 +249,7 @@ Index: madwifi-ng-r2568-20070710/tools/athstats.c
 Index: madwifi-ng-r2568-20070710/tools/do_multi.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ madwifi-ng-r2568-20070710/tools/do_multi.c	2007-07-23 01:48:39.754245634 +0200
++++ madwifi-ng-r2568-20070710/tools/do_multi.c	2007-10-20 20:52:46.000000000 +0200
 @@ -0,0 +1,30 @@
 +#include <string.h>
 +#include "do_multi.h"
@@ -284,7 +284,7 @@ Index: madwifi-ng-r2568-20070710/tools/do_multi.c
 Index: madwifi-ng-r2568-20070710/tools/do_multi.h
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ madwifi-ng-r2568-20070710/tools/do_multi.h	2007-07-23 01:48:39.778247001 +0200
++++ madwifi-ng-r2568-20070710/tools/do_multi.h	2007-10-20 20:52:09.000000000 +0200
 @@ -0,0 +1,9 @@
 +
 +int a80211debug_init(int argc, char *argv[]);
@@ -297,8 +297,8 @@ Index: madwifi-ng-r2568-20070710/tools/do_multi.h
 +int wlanconfig_init(int argc, char *argv[]);
 Index: madwifi-ng-r2568-20070710/tools/Makefile
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/Makefile	2007-07-23 01:48:38.902197078 +0200
-+++ madwifi-ng-r2568-20070710/tools/Makefile	2007-07-23 01:48:39.798248141 +0200
+--- 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 @@
  
  ALL=	athstats 80211stats athkey athchans athctrl \
@@ -345,8 +345,8 @@ Index: madwifi-ng-r2568-20070710/tools/Makefile
  80211stats: 80211stats.c
 Index: madwifi-ng-r2568-20070710/tools/wlanconfig.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/wlanconfig.c	2007-07-23 01:48:38.910197536 +0200
-+++ madwifi-ng-r2568-20070710/tools/wlanconfig.c	2007-07-23 01:48:39.850251108 +0200
+--- 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
 @@ -62,6 +62,10 @@
  #include "net80211/ieee80211_crypto.h"
  #include "net80211/ieee80211_ioctl.h"
diff --git a/package/madwifi/patches/104-autocreate_none.patch b/package/madwifi/patches/104-autocreate_none.patch
index 667f026c5c..ca3af4aabb 100644
--- a/package/madwifi/patches/104-autocreate_none.patch
+++ b/package/madwifi/patches/104-autocreate_none.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:38.770189557 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:40.226272533 +0200
+--- 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 @@
  	HAL_STATUS status;
  	int error = 0;
diff --git a/package/madwifi/patches/105-ratectl_attach.patch b/package/madwifi/patches/105-ratectl_attach.patch
index b17559bfee..6963900a4d 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_rate.c	2007-07-23 01:48:38.694185224 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_rate.c	2007-07-23 01:48:40.474286668 +0200
+--- 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
 @@ -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 3715e2a0f4..bbdce0fe07 100644
--- a/package/madwifi/patches/110-init_fix_PR_914.patch
+++ b/package/madwifi/patches/110-init_fix_PR_914.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:40.226272533 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:40.726301028 +0200
+--- 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 @@
  		ath_draintxq(sc);
  		if (!sc->sc_invalid) {
diff --git a/package/madwifi/patches/111-minstrel_crash.patch b/package/madwifi/patches/111-minstrel_crash.patch
index fb0f32a7d6..d860cb0bf6 100644
--- a/package/madwifi/patches/111-minstrel_crash.patch
+++ b/package/madwifi/patches/111-minstrel_crash.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath_rate/minstrel/minstrel.c	2007-07-23 01:48:38.542176563 +0200
-+++ madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c	2007-07-23 01:48:40.974315165 +0200
+--- 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 @@
  		struct minstrel_node *sn = ATH_NODE_MINSTREL(an);
  		int rc1, rc2, rc3;         /* Index into the rate table, so for example, it is  0..11 */
diff --git a/package/madwifi/patches/112-keycache_PR_962.patch b/package/madwifi/patches/112-keycache_PR_962.patch
index d2ea9cb638..46f70f1bac 100644
--- a/package/madwifi/patches/112-keycache_PR_962.patch
+++ b/package/madwifi/patches/112-keycache_PR_962.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:40.726301028 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:41.230329754 +0200
+--- 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 @@
  		 * frame; it'll be dropped where it's not wanted.
  		 */
@@ -14,8 +14,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  			 * Fast path: node is present in the key map;
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-07-23 01:48:38.458171774 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-07-23 01:48:41.230329754 +0200
+--- 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
 @@ -1271,8 +1271,6 @@
  	IEEE80211_NODE_TABLE_UNLOCK_IRQ(nt);
  
@@ -48,8 +48,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c
   * a data frame.  This handles node discovery in adhoc networks.
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.h
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.h	2007-07-23 01:48:38.466172232 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.h	2007-07-23 01:48:41.254331120 +0200
+--- 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
 @@ -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 24e736938c..821820a4ab 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_scan.c	2007-07-23 01:48:38.374166989 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_scan.c	2007-07-23 01:48:41.534347075 +0200
+--- 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
 @@ -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 34eeca75d3..ec3dd94ffe 100644
--- a/package/madwifi/patches/116-adhoc_beacon_PR_1033.patch
+++ b/package/madwifi/patches/116-adhoc_beacon_PR_1033.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:41.230329754 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:41.758359843 +0200
+--- 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 @@
  	struct ieee80211com *ic = &sc->sc_ic;
  	struct ath_hal *ah = sc->sc_ah;
diff --git a/package/madwifi/patches/120-soc_fix.patch b/package/madwifi/patches/120-soc_fix.patch
index 41a5fbb079..bade339958 100644
--- a/package/madwifi/patches/120-soc_fix.patch
+++ b/package/madwifi/patches/120-soc_fix.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath_ahb.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath_ahb.c	2007-07-23 01:48:38.098151260 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath_ahb.c	2007-07-23 01:48:41.998373519 +0200
+--- 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 @@
  
  
diff --git a/package/madwifi/patches/121-ibss_hostap.patch b/package/madwifi/patches/121-ibss_hostap.patch
index 939ee7080b..1beb4e95d9 100644
--- a/package/madwifi/patches/121-ibss_hostap.patch
+++ b/package/madwifi/patches/121-ibss_hostap.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:41.758359843 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:42.258388337 +0200
+--- 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 @@
   * and use the next two bits as the index of the VAP.
   */
@@ -151,8 +151,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  				ieee80211_keyix_t keyix;
 Index: madwifi-ng-r2568-20070710/ath/if_athvar.h
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-07-23 01:48:38.006146018 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-07-23 01:48:42.262388566 +0200
+--- 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 @@
  #define	ATH_RXBUF	40		/* number of RX buffers */
  #define	ATH_TXBUF	200		/* number of TX buffers */
@@ -172,8 +172,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_athvar.h
  	HAL_INT sc_imask;			/* interrupt mask copy */
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_beacon.c	2007-07-23 01:48:38.010146245 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c	2007-07-23 01:48:42.278389477 +0200
+--- 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
 @@ -111,7 +111,7 @@
  	bo->bo_tim = frm;
  
@@ -185,8 +185,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c
  		*frm++ = 0; *frm++ = 0;		/* TODO: ATIM window */
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-07-23 01:48:38.018146699 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-07-23 01:48:42.282389707 +0200
+--- 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 @@
  			return;
  		}
@@ -219,8 +219,8 @@ 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-07-23 01:48:41.230329754 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-07-23 01:48:42.330392441 +0200
+--- 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
 @@ -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 a504018402..32da78fc2a 100644
--- a/package/madwifi/patches/122-replayfail_workaround.patch
+++ b/package/madwifi/patches/122-replayfail_workaround.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_linux.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_linux.c	2007-07-23 01:48:37.914140773 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_linux.c	2007-07-23 01:48:42.626409310 +0200
+--- 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 @@
  		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 69fa3c34a2..00f9f2fd83 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_ccmp.c	2007-07-23 01:48:37.830135985 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_ccmp.c	2007-07-23 01:48:42.870423216 +0200
+--- 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
 @@ -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 21b4a83df5..70ea0b4e8e 100644
--- a/package/madwifi/patches/124-linux24_compat.patch
+++ b/package/madwifi/patches/124-linux24_compat.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_athvar.h
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-07-23 01:48:42.262388566 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-07-23 01:48:43.126437804 +0200
+--- 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 @@
  #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
index a4c557f537..8df9d870fb 100644
--- a/package/madwifi/patches/125-tpc_PR_1435.patch
+++ b/package/madwifi/patches/125-tpc_PR_1435.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:42.258388337 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:43.370451713 +0200
+--- 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;
@@ -88,8 +88,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_wireless.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_wireless.c	2007-07-23 01:48:37.670126869 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_wireless.c	2007-07-23 01:48:43.374451939 +0200
+--- 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 */
diff --git a/package/madwifi/patches/126-rxerr_frames.patch b/package/madwifi/patches/126-rxerr_frames.patch
index 5918906938..1d561eed59 100644
--- a/package/madwifi/patches/126-rxerr_frames.patch
+++ b/package/madwifi/patches/126-rxerr_frames.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:43.370451713 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:43.690469948 +0200
+--- 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 @@
  			/*
  			 * Reject error frames if we have no vaps that 
diff --git a/package/madwifi/patches/127-beacon_node.patch b/package/madwifi/patches/127-beacon_node.patch
index f992af9291..10459bcd81 100644
--- a/package/madwifi/patches/127-beacon_node.patch
+++ b/package/madwifi/patches/127-beacon_node.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:43.690469948 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:43.942484311 +0200
+--- 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 @@
  	}
  	bf = avp->av_bcbuf;
diff --git a/package/madwifi/patches/128-adhoc_memleak.patch b/package/madwifi/patches/128-adhoc_memleak.patch
index 3fca4ef983..6f3ad49a1e 100644
--- a/package/madwifi/patches/128-adhoc_memleak.patch
+++ b/package/madwifi/patches/128-adhoc_memleak.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-07-24 00:01:54.068861828 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-07-24 00:02:44.035709278 +0200
+--- 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) && 
@@ -13,8 +13,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c
  			} else {
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-07-24 00:02:51.284122342 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-07-24 00:03:04.540877800 +0200
+--- 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;
diff --git a/package/madwifi/patches/129-rxant_r2591.patch b/package/madwifi/patches/129-rxant_r2591.patch
index c2bb94765a..08960d1e66 100644
--- a/package/madwifi/patches/129-rxant_r2591.patch
+++ b/package/madwifi/patches/129-rxant_r2591.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-25 16:02:49.730126121 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-25 16:03:20.355871384 +0200
+--- 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);
diff --git a/package/madwifi/patches/130-chanswitch_beacon_fix_PR_1477.patch b/package/madwifi/patches/130-chanswitch_beacon_fix_PR_1477.patch
index 7ed64c6101..6fa00890af 100644
--- a/package/madwifi/patches/130-chanswitch_beacon_fix_PR_1477.patch
+++ b/package/madwifi/patches/130-chanswitch_beacon_fix_PR_1477.patch
@@ -1,9 +1,9 @@
 Signed-off-by: Andrew Lunn <andrew@lunn.ch>
 
-Index: trunk/net80211/ieee80211_beacon.c
+Index: madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c
 ===================================================================
---- trunk/net80211/ieee80211_beacon.c	(revision 2631)
-+++ trunk/net80211/ieee80211_beacon.c	(working copy)
+--- 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);
diff --git a/package/madwifi/patches/131-minstrel_rateidx.patch b/package/madwifi/patches/131-minstrel_rateidx.patch
index 2cec5a7f1b..d2becadc8a 100644
--- a/package/madwifi/patches/131-minstrel_rateidx.patch
+++ b/package/madwifi/patches/131-minstrel_rateidx.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath_rate/minstrel/minstrel.c	2007-08-11 02:08:15.931956005 +0200
-+++ madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c	2007-08-11 02:09:37.572608440 +0200
+--- 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 @@
  		}
  
diff --git a/package/madwifi/patches/200-no_debug.patch b/package/madwifi/patches/200-no_debug.patch
index b1830c66d2..00717afcd8 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:43.942484311 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:44.466514171 +0200
+--- 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
 @@ -75,7 +75,7 @@
  #include <net80211/if_llc.h>
  #endif
@@ -13,8 +13,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  #include "if_athvar.h"
 Index: madwifi-ng-r2568-20070710/ath_rate/amrr/amrr.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath_rate/amrr/amrr.c	2007-07-23 01:48:37.298105667 +0200
-+++ madwifi-ng-r2568-20070710/ath_rate/amrr/amrr.c	2007-07-23 01:48:44.470514400 +0200
+--- 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
 @@ -70,7 +70,7 @@
  
  #include "amrr.h"
@@ -26,8 +26,8 @@ Index: madwifi-ng-r2568-20070710/ath_rate/amrr/amrr.c
  	if (sc->sc_debug & 0x10)					\
 Index: madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath_rate/minstrel/minstrel.c	2007-07-23 01:48:40.974315165 +0200
-+++ madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c	2007-07-23 01:48:44.494515770 +0200
+--- 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
 @@ -117,7 +117,7 @@
  
  #include "minstrel.h"
@@ -39,8 +39,8 @@ Index: madwifi-ng-r2568-20070710/ath_rate/minstrel/minstrel.c
  		ATH_DEBUG_RATE		= 0x00000010	/* rate control */
 Index: madwifi-ng-r2568-20070710/ath_rate/onoe/onoe.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath_rate/onoe/onoe.c	2007-07-23 01:48:37.314106578 +0200
-+++ madwifi-ng-r2568-20070710/ath_rate/onoe/onoe.c	2007-07-23 01:48:44.518517136 +0200
+--- 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
 @@ -66,7 +66,7 @@
  
  #include "onoe.h"
@@ -52,8 +52,8 @@ Index: madwifi-ng-r2568-20070710/ath_rate/onoe/onoe.c
  	ATH_DEBUG_RATE	= 0x00000010,	/* rate control */
 Index: madwifi-ng-r2568-20070710/ath_rate/sample/sample.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath_rate/sample/sample.c	2007-07-23 01:48:37.322107035 +0200
-+++ madwifi-ng-r2568-20070710/ath_rate/sample/sample.c	2007-07-23 01:48:44.546518731 +0200
+--- 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
 @@ -68,7 +68,7 @@
  
  #include "sample.h"
@@ -65,8 +65,8 @@ Index: madwifi-ng-r2568-20070710/ath_rate/sample/sample.c
  	ATH_DEBUG_NODE		= 0x00080000,	/* node management */
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_proto.c	2007-07-23 01:48:37.330107492 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c	2007-07-23 01:48:44.570520097 +0200
+--- 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);
@@ -85,8 +85,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c
  	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-07-23 01:48:37.338107946 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_var.h	2007-07-23 01:48:44.622523064 +0200
+--- 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
 @@ -35,8 +35,8 @@
  #ifndef _NET80211_IEEE80211_VAR_H_
  #define _NET80211_IEEE80211_VAR_H_
@@ -100,8 +100,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_var.h
  #include <net80211/ieee80211_linux.h>
 Index: madwifi-ng-r2568-20070710/tools/do_multi.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/do_multi.c	2007-07-23 01:48:39.754245634 +0200
-+++ madwifi-ng-r2568-20070710/tools/do_multi.c	2007-07-23 01:48:44.650524656 +0200
+--- 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
 @@ -9,16 +9,20 @@
  
      progname = basename(argv[0]);
@@ -125,8 +125,8 @@ Index: madwifi-ng-r2568-20070710/tools/do_multi.c
      if(strcmp(progname, "athstats") == 0)
 Index: madwifi-ng-r2568-20070710/tools/Makefile
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/tools/Makefile	2007-07-23 01:48:39.798248141 +0200
-+++ madwifi-ng-r2568-20070710/tools/Makefile	2007-07-23 01:48:44.670525796 +0200
+--- 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
diff --git a/package/madwifi/patches/300-napi_polling.patch b/package/madwifi/patches/300-napi_polling.patch
index 0bc05c07b8..d3b95e7b55 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:44.466514171 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:45.030546315 +0200
+--- 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
 @@ -170,7 +170,7 @@
  	int, u_int64_t);
  static void ath_setdefantenna(struct ath_softc *, u_int);
@@ -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) {
-@@ -3315,10 +3329,10 @@
+@@ -3318,10 +3332,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);
  }
  
-@@ -3331,7 +3345,7 @@
+@@ -3334,7 +3348,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
  }
  
  /*
-@@ -5586,13 +5600,12 @@
+@@ -5589,13 +5603,12 @@
  	sc->sc_rxotherant = 0;
  }
  
@@ -102,7 +102,7 @@ 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;
-@@ -5605,12 +5618,15 @@
+@@ -5608,12 +5621,15 @@
  	int type;
  	u_int phyerr;
  	u_int64_t rs_tsf;
@@ -118,7 +118,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  	do {
  		bf = STAILQ_FIRST(&sc->sc_rxbuf);
  		if (bf == NULL) {		/* XXX ??? can this happen */
-@@ -5634,6 +5650,13 @@
+@@ -5637,6 +5653,13 @@
  			/* NB: never process the self-linked entry at the end */
  			break;
  		}
@@ -132,7 +132,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__);
-@@ -5672,6 +5695,7 @@
+@@ -5675,6 +5698,7 @@
  				sc->sc_stats.ast_rx_phyerr++;
  				phyerr = rs->rs_phyerr & 0x1f;
  				sc->sc_stats.ast_rx_phy[phyerr]++;
@@ -140,7 +140,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  			}
  			if (rs->rs_status & HAL_RXERR_DECRYPT) {
  				/*
-@@ -5889,9 +5913,33 @@
+@@ -5892,9 +5916,33 @@
  		STAILQ_INSERT_TAIL(&sc->sc_rxbuf, bf, bf_list);
  		ATH_RXBUF_UNLOCK_IRQ(sc);
  	} while (ath_rxbuf_init(sc, bf) == 0);
@@ -174,7 +174,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  #undef PA2DESC
  }
  
-@@ -7514,11 +7562,22 @@
+@@ -7517,11 +7565,22 @@
  	struct net_device *dev = (struct net_device *)data;
  	struct ath_softc *sc = dev->priv;
  
@@ -197,7 +197,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  	netif_wake_queue(dev);
  
  	if (sc->sc_softled)
-@@ -7535,6 +7594,7 @@
+@@ -7538,6 +7597,7 @@
  	struct net_device *dev = (struct net_device *)data;
  	struct ath_softc *sc = dev->priv;
  
@@ -205,7 +205,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  	/*
  	 * Process each active queue.
  	 */
-@@ -7555,6 +7615,16 @@
+@@ -7558,6 +7618,16 @@
  	if (sc->sc_uapsdq && txqactive(sc->sc_ah, sc->sc_uapsdq->axq_qnum))
  		ath_tx_processq(sc, sc->sc_uapsdq);
  
@@ -222,7 +222,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  	netif_wake_queue(dev);
  
  	if (sc->sc_softled)
-@@ -7572,6 +7642,7 @@
+@@ -7575,6 +7645,7 @@
  	unsigned int i;
  
  	/* Process each active queue. */
@@ -230,7 +230,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]);
-@@ -7580,6 +7651,16 @@
+@@ -7583,6 +7654,16 @@
  		ath_tx_processq(sc, sc->sc_xrtxq);
  #endif
  
@@ -247,7 +247,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  	netif_wake_queue(dev);
  
  	if (sc->sc_softled)
-@@ -7678,6 +7759,7 @@
+@@ -7681,6 +7762,7 @@
  ath_draintxq(struct ath_softc *sc)
  {
  	struct ath_hal *ah = sc->sc_ah;
@@ -255,7 +255,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  	unsigned int i;
  
  	/* XXX return value */
-@@ -9186,9 +9268,9 @@
+@@ -9189,9 +9271,9 @@
  	dev->mtu = mtu;
  	if ((dev->flags & IFF_RUNNING) && !sc->sc_invalid) {
  		/* NB: the rx buffers may need to be reallocated */
@@ -269,8 +269,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  
 Index: madwifi-ng-r2568-20070710/ath/if_athvar.h
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-07-23 01:48:43.126437804 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-07-23 01:48:45.030546315 +0200
+--- 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 */
  #include <asm/io.h>
@@ -309,8 +309,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_athvar.h
  #define	ATH_RXBUF_LOCK_DESTROY(_sc)
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-07-23 01:48:44.214499810 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-07-23 01:48:45.030546315 +0200
+--- 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
 @@ -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 5657535e8c..1ca7e8261d 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:45.030546315 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:45.406567742 +0200
-@@ -2558,7 +2558,7 @@
+--- 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 @@
  	/* 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];
-@@ -2566,6 +2566,7 @@
+@@ -2569,6 +2569,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
-@@ -2588,7 +2589,7 @@
+@@ -2591,7 +2592,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,
-@@ -2600,8 +2601,7 @@
+@@ -2603,8 +2604,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;
  		}
-@@ -2614,7 +2614,7 @@
+@@ -2617,7 +2617,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);
-@@ -2663,12 +2663,12 @@
+@@ -2666,12 +2666,12 @@
  
  		ATH_HARDSTART_GET_TX_BUF_WITH_LOCK;
  		if (bf == NULL) {
@@ -64,8 +64,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  ff_bypass:
 Index: madwifi-ng-r2568-20070710/ath/if_athvar.h
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-07-23 01:48:45.030546315 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-07-23 01:48:45.406567742 +0200
+--- 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 @@
  #define ATH_TXQ_INTR_PERIOD		5  /* axq_intrcnt period for intr gen */
  #define	ATH_TXQ_LOCK_INIT(_tq)		spin_lock_init(&(_tq)->axq_lock)
diff --git a/package/madwifi/patches/305-pureg_fix.patch b/package/madwifi/patches/305-pureg_fix.patch
index a9953973fc..df9b3e7de3 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:45.406567742 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:45.690583928 +0200
-@@ -3384,7 +3384,9 @@
+--- 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 @@
  		rfilt |= HAL_RX_FILTER_PROM;
  	if (ic->ic_opmode == IEEE80211_M_STA ||
  	    sc->sc_opmode == HAL_M_IBSS ||	/* NB: AHDEMO too */
@@ -15,8 +15,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  		rfilt |= (HAL_RX_FILTER_CONTROL | HAL_RX_FILTER_BEACON |
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-07-23 01:48:45.030546315 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-07-23 01:48:45.690583928 +0200
+--- 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
 @@ -321,11 +321,12 @@
  				bssid = wh->i_addr3;
  			}
@@ -99,8 +99,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c
  		 */
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-07-23 01:48:42.330392441 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-07-23 01:48:45.694584154 +0200
+--- 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
 @@ -332,10 +332,16 @@
  	/* Update country ie information */
  	ieee80211_build_countryie(ic);
@@ -122,8 +122,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_node.c
  }
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_proto.c	2007-07-23 01:48:44.570520097 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c	2007-07-23 01:48:45.718585522 +0200
+--- 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
 @@ -586,6 +586,28 @@
  	{ 4, { 2, 4, 11, 22 } },	/* IEEE80211_MODE_TURBO_G (mixed b/g) */
  };
@@ -155,8 +155,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.c
   * specified mode.  For 11b compatibility we mark only 11b
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_var.h
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_var.h	2007-07-23 01:48:44.622523064 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_var.h	2007-07-23 01:48:45.734586433 +0200
+--- 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
 @@ -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
index c00c73a78b..fc39a5ed06 100644
--- a/package/madwifi/patches/306-mib_intr_workaround.patch
+++ b/package/madwifi/patches/306-mib_intr_workaround.patch
@@ -1,7 +1,7 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-08-01 11:07:47.882943145 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-08-01 11:41:11.781138794 +0200
+--- 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 *);
@@ -71,8 +71,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
   */
 Index: madwifi-ng-r2568-20070710/ath/if_athvar.h
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_athvar.h	2007-08-01 11:33:50.800008711 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_athvar.h	2007-08-01 11:34:33.202425088 +0200
+--- 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;
  
diff --git a/package/madwifi/patches/309-micfail_detect.patch b/package/madwifi/patches/309-micfail_detect.patch
index ee5698fbf7..5f5918f46d 100644
--- a/package/madwifi/patches/309-micfail_detect.patch
+++ b/package/madwifi/patches/309-micfail_detect.patch
@@ -1,8 +1,8 @@
 Index: madwifi-ng-r2568-20070710/ath/if_ath.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/ath/if_ath.c	2007-07-23 01:48:46.026603077 +0200
-+++ madwifi-ng-r2568-20070710/ath/if_ath.c	2007-07-23 01:48:46.310619260 +0200
-@@ -5632,6 +5632,7 @@
+--- 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 @@
  	u_int64_t rs_tsf;
  	u_int processed = 0, early_stop = 0;
  	u_int rx_limit = dev->quota;
@@ -10,7 +10,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  
  	/* Let the 802.11 layer know about the new noise floor */
  	sc->sc_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan));
-@@ -5726,25 +5727,7 @@
+@@ -5727,25 +5728,7 @@
  			}
  			if (rs->rs_status & HAL_RXERR_MIC) {
  				sc->sc_stats.ast_rx_badmic++;
@@ -37,7 +37,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  			}
  			/*
  			 * Reject error frames if we have no vaps that 
-@@ -5809,8 +5792,9 @@
+@@ -5810,8 +5793,9 @@
  		/*
  		 * Finished monitor mode handling, now reject
  		 * error frames before passing to other vaps
@@ -48,7 +48,7 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  			dev_kfree_skb(skb);
  			skb = NULL;
  			goto rx_next;
-@@ -5841,6 +5825,27 @@
+@@ -5842,6 +5826,27 @@
  				   sc->sc_hwmap[rs->rs_rate].ieeerate,
  				   rs->rs_rssi);
  
@@ -78,8 +78,8 @@ Index: madwifi-ng-r2568-20070710/ath/if_ath.c
  		 * pass the (referenced) node up to the 802.11 layer
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_ccmp.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_ccmp.c	2007-07-23 01:48:42.870423216 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_ccmp.c	2007-07-23 01:48:46.310619260 +0200
+--- 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
 @@ -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);
@@ -100,8 +100,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_ccmp.c
  }
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto.h
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto.h	2007-07-23 01:48:36.806077628 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto.h	2007-07-23 01:48:46.326620171 +0200
+--- 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
 @@ -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);
@@ -126,8 +126,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto.h
  /*
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_none.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_none.c	2007-07-23 01:48:36.810077857 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_none.c	2007-07-23 01:48:46.342621086 +0200
+--- 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
 @@ -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);
@@ -148,8 +148,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_none.c
  
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_tkip.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_tkip.c	2007-07-23 01:48:36.818078312 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_tkip.c	2007-07-23 01:48:46.362622225 +0200
+--- 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
 @@ -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);
@@ -179,8 +179,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_tkip.c
  		u8 mic0[IEEE80211_WEP_MICLEN];
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_wep.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_crypto_wep.c	2007-07-23 01:48:36.826078768 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_wep.c	2007-07-23 01:48:46.402624504 +0200
+--- 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
 @@ -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);
@@ -201,8 +201,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_crypto_wep.c
  }
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_input.c	2007-07-23 01:48:45.690583928 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-07-23 01:48:46.406624734 +0200
+--- 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
 @@ -632,7 +632,7 @@
  		 * Next strip any MSDU crypto bits.
  		 */
@@ -262,8 +262,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_input.c
   * Debugging support.
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_proto.h
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_proto.h	2007-07-23 01:48:36.838079452 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_proto.h	2007-07-23 01:48:46.438626555 +0200
+--- 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
 @@ -91,6 +91,7 @@
  void ieee80211_set11gbasicrates(struct ieee80211_rateset *, enum ieee80211_phymode);
  enum ieee80211_phymode ieee80211_get11gbasicrates(struct ieee80211_rateset *);
@@ -274,8 +274,8 @@ 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_linux.c	2007-07-23 01:48:42.626409310 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_linux.c	2007-07-23 01:48:46.462627924 +0200
+--- 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 @@
  	/* TODO: needed parameters: count, keyid, key type, src address, TSC */
  	snprintf(buf, sizeof(buf), "%s(keyid=%d %scast addr=%s)", tag,
@@ -289,8 +289,8 @@ Index: madwifi-ng-r2568-20070710/net80211/ieee80211_linux.c
  	wireless_send_event(dev, IWEVCUSTOM, &wrqu, buf);
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_output.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_output.c	2007-07-23 01:48:36.854080363 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_output.c	2007-07-23 01:48:46.466628154 +0200
+--- 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
 @@ -1079,13 +1079,16 @@
  			cip = (struct ieee80211_cipher *) key->wk_cipher;
  			ciphdrsize = cip->ic_header;
@@ -313,8 +313,8 @@ 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
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_node.c	2007-07-23 01:48:45.694584154 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_node.c	2007-07-23 01:48:46.590635219 +0200
+--- 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 @@
  	/* 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
index 9a51683052..f4af141450 100644
--- a/package/madwifi/patches/310-erp_beacon_check.patch
+++ b/package/madwifi/patches/310-erp_beacon_check.patch
@@ -1,8 +1,8 @@
 Index: madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c
 ===================================================================
---- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_beacon.c	2007-07-23 01:48:42.278389477 +0200
-+++ madwifi-ng-r2568-20070710/net80211/ieee80211_beacon.c	2007-07-23 01:48:46.966656645 +0200
-@@ -512,7 +512,7 @@
+--- 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
diff --git a/package/madwifi/patches/320-karma.patch b/package/madwifi/patches/320-karma.patch
index 426a506ad4..6198e8ce8a 100644
--- a/package/madwifi/patches/320-karma.patch
+++ b/package/madwifi/patches/320-karma.patch
@@ -1,5 +1,7 @@
---- madwifi-ng-r2568-20070710/net80211/ieee80211_wireless.c	2007-10-19 08:04:23.000000000 +0200
-+++ madwifi-ng-r2568-20070710.new/net80211/ieee80211_wireless.c	2007-10-19 07:52:40.000000000 +0200
+Index: madwifi-ng-r2568-20070710/net80211/ieee80211_wireless.c
+===================================================================
+--- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_wireless.c	2007-10-20 20:52:09.000000000 +0200
++++ madwifi-ng-r2568-20070710/net80211/ieee80211_wireless.c	2007-10-20 20:52:10.000000000 +0200
 @@ -72,6 +72,8 @@
  	 (_vap)->iv_ic->ic_roaming == IEEE80211_ROAMING_AUTO)
  #define	RESCAN	1
@@ -43,8 +45,10 @@
  };
  
  #define set_handler(x,f) [x - SIOCIWFIRST] = (iw_handler) f
---- madwifi-ng-r2568-20070710/net80211/ieee80211_input.c	2007-10-19 08:04:23.000000000 +0200
-+++ madwifi-ng-r2568-20070710.new/net80211/ieee80211_input.c	2007-10-19 07:58:08.000000000 +0200
+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:10.000000000 +0200
 @@ -59,6 +59,8 @@
  
  #include <net80211/ieee80211_var.h>
@@ -123,8 +127,10 @@
  		ieee80211_node_join(ni, resp);
  #ifdef ATH_SUPERG_XR
  		if (ni->ni_prev_vap &&
---- madwifi-ng-r2568-20070710/net80211/ieee80211_output.c	2007-10-19 08:04:23.000000000 +0200
-+++ madwifi-ng-r2568-20070710.new/net80211/ieee80211_output.c	2007-10-19 07:59:13.000000000 +0200
+Index: madwifi-ng-r2568-20070710/net80211/ieee80211_output.c
+===================================================================
+--- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_output.c	2007-10-20 20:52:09.000000000 +0200
++++ madwifi-ng-r2568-20070710/net80211/ieee80211_output.c	2007-10-20 20:52:10.000000000 +0200
 @@ -57,6 +57,8 @@
  #include <net80211/ieee80211_monitor.h>
  #include <net80211/if_athproto.h>
@@ -156,8 +162,10 @@
  		/* supported rates */
  		frm = ieee80211_add_rates(frm, &ni->ni_rates);
  
---- madwifi-ng-r2568-20070710/net80211/ieee80211_ioctl.h	2007-06-25 05:48:07.000000000 +0200
-+++ madwifi-ng-r2568-20070710.new/net80211/ieee80211_ioctl.h	2007-10-19 07:43:12.000000000 +0200
+Index: madwifi-ng-r2568-20070710/net80211/ieee80211_ioctl.h
+===================================================================
+--- madwifi-ng-r2568-20070710.orig/net80211/ieee80211_ioctl.h	2007-10-20 20:51:36.000000000 +0200
++++ madwifi-ng-r2568-20070710/net80211/ieee80211_ioctl.h	2007-10-20 20:52:10.000000000 +0200
 @@ -603,6 +603,7 @@
  	IEEE80211_PARAM_DROPUNENC_EAPOL		= 60,	/* drop unencrypted eapol frames */
   	IEEE80211_PARAM_SHPREAMBLE		= 61,	/* Short Preamble */
diff --git a/rules.mk b/rules.mk
index 950efebc8b..cd5446acef 100644
--- a/rules.mk
+++ b/rules.mk
@@ -65,6 +65,10 @@ export PATH:=$(TARGET_PATH)
 export STAGING_DIR
 export GCC_HONOUR_COPTS:=0
 
+PKG_CONFIG:=$(STAGING_DIR_HOST)/bin/pkg-config
+
+export PKG_CONFIG
+
 LINUX_HEADERS_DIR:=$(BUILD_DIR_TOOLCHAIN)/linux
 
 HOSTCC:=gcc
diff --git a/target/linux/atheros/config-2.6.23 b/target/linux/atheros/config-2.6.23
index ebe22e4237..3be4ad04e0 100644
--- a/target/linux/atheros/config-2.6.23
+++ b/target/linux/atheros/config-2.6.23
@@ -172,6 +172,7 @@ CONFIG_SGI_IP22=y
 # CONFIG_SOFT_WATCHDOG is not set
 # CONFIG_SPARSEMEM_STATIC is not set
 CONFIG_SWAP_IO_SPACE=y
+# CONFIG_SWITCHLIB is not set
 CONFIG_SYSVIPC_SYSCTL=y
 CONFIG_SYS_HAS_CPU_R4X00=y
 CONFIG_SYS_HAS_CPU_R5000=y
-- 
GitLab