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