Changeset 10259


Ignore:
Timestamp:
2008-01-25T21:24:25+01:00 (10 years ago)
Author:
nbd
Message:

upgrade madwifi, finally fix the annoying ap auto channel selection bug, default to automatic channel selection

Location:
trunk/package/madwifi
Files:
1 added
1 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/madwifi/Makefile

    r9906 r10259  
    1111 
    1212PKG_NAME:=madwifi 
    13 PKG_REV:=3053 
     13PKG_REV:=3252 
    1414PKG_VERSION:=r$(PKG_REV) 
    1515PKG_BRANCH:=madwifi-dfs 
     
    2525 
    2626include $(INCLUDE_DIR)/package.mk 
     27 
     28# MADWIFI_DEBUG=1 
    2729 
    2830ifeq ($(ARCH),mips) 
     
    8991 
    9092ifeq ($(findstring AHB,$(BUS)),AHB) 
    91         MADWIFI_FILES+= $(PKG_BUILD_DIR)/ath/ath_ahb.$(LINUX_KMOD_SUFFIX) 
    92         MADWIFI_AUTOLOAD+= ath_ahb 
     93  MADWIFI_FILES+= $(PKG_BUILD_DIR)/ath/ath_ahb.$(LINUX_KMOD_SUFFIX) 
     94  MADWIFI_AUTOLOAD+= ath_ahb 
    9395endif 
    9496ifeq ($(findstring PCI,$(BUS)),PCI) 
    95         MADWIFI_FILES+= $(PKG_BUILD_DIR)/ath/ath_pci.$(LINUX_KMOD_SUFFIX) 
    96         MADWIFI_AUTOLOAD+= ath_pci 
     97  MADWIFI_FILES+= $(PKG_BUILD_DIR)/ath/ath_pci.$(LINUX_KMOD_SUFFIX) 
     98  MADWIFI_AUTOLOAD+= ath_pci 
    9799endif 
     100 
     101MADWIFI_APPLETS:=80211stats,athchans,athctrl,athkey,athstats,wlanconfig 
     102ifneq ($(MADWIFI_DEBUG),) 
     103  MADWIFI_APPLETS:=$(strip $(MADWIFI_APPLETS)),athdebug,80211debug 
     104endif 
     105 
    98106 
    99107define KernelPackage/madwifi 
     
    120128        LDOPTS="--no-warn-mismatch " \ 
    121129        ATH_RATE="ath_rate/$(RATE_CONTROL)" \ 
    122         WARNINGS="" \ 
     130        WARNINGS="-Wno-unused" \ 
     131        $(if $(MADWIFI_DEBUG),,DEBUG="") \ 
    123132        DOMULTI=1 
    124133 
     
    160169        $(INSTALL_DATA) ./files/lib/wifi/madwifi.sh $(1)/lib/wifi 
    161170        $(INSTALL_DIR) $(1)/usr/sbin 
    162         $(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,80211stats,athchans,athctrl,athkey,athstats,wlanconfig} $(1)/usr/sbin/ 
     171        $(CP) $(PKG_BUILD_DIR)/tools/{madwifi_multi,$(MADWIFI_APPLETS)} $(1)/usr/sbin/ 
    163172endef 
    164173 
  • trunk/package/madwifi/files/lib/wifi/madwifi.sh

    r10217 r10259  
    7575        config_get channel "$device" channel 
    7676        config_get vifs "$device" vifs 
    77          
     77 
     78        [ auto = "$channel" ] && channel=0 
     79 
    7880        local first=1 
    7981        for vif in $vifs; do 
     
    307309config wifi-device  $dev 
    308310        option type     atheros 
    309         option channel  5 
     311        option channel  auto 
    310312 
    311313        # REMOVE THIS LINE TO ENABLE WIFI: 
  • trunk/package/madwifi/patches/124-linux24_compat.patch

    r9719 r10259  
    1 Index: madwifi-dfs-r3053/ath/if_athvar.h 
    2 =================================================================== 
    3 --- madwifi-dfs-r3053.orig/ath/if_athvar.h      2007-12-13 05:25:10.534225778 +0100 
    4 +++ madwifi-dfs-r3053/ath/if_athvar.h   2007-12-13 05:25:12.842357313 +0100 
     1Index: madwifi-dfs-r3252/ath/if_athvar.h 
     2=================================================================== 
     3--- madwifi-dfs-r3252.orig/ath/if_athvar.h      2008-01-25 21:13:50.832747032 +0100 
     4+++ madwifi-dfs-r3252/ath/if_athvar.h   2008-01-25 21:14:09.785827106 +0100 
    55@@ -128,6 +128,11 @@ 
    66 #define        NETDEV_TX_BUSY  1 
     
    1515 static inline struct net_device *_alloc_netdev(int sizeof_priv, const char *mask, 
    1616                                               void (*setup)(struct net_device *)) 
    17 Index: madwifi-dfs-r3053/ath/if_ath_radar.c 
    18 =================================================================== 
    19 --- madwifi-dfs-r3053.orig/ath/if_ath_radar.c   2007-12-13 05:25:10.538226007 +0100 
    20 +++ madwifi-dfs-r3053/ath/if_ath_radar.c        2007-12-13 05:25:12.850357768 +0100 
     17Index: madwifi-dfs-r3252/ath/if_ath_radar.c 
     18=================================================================== 
     19--- madwifi-dfs-r3252.orig/ath/if_ath_radar.c   2008-01-25 21:13:50.840747487 +0100 
     20+++ madwifi-dfs-r3252/ath/if_ath_radar.c        2008-01-25 21:14:09.789827335 +0100 
    2121@@ -92,6 +92,13 @@ 
    2222 #define nofloat_pct(_value, _pct) \ 
     
    3333        /* The name of the rule/specification (i.e. what did we detect) */ 
    3434        const char *name; 
    35 Index: madwifi-dfs-r3053/ath/if_ath.c 
    36 =================================================================== 
    37 --- madwifi-dfs-r3053.orig/ath/if_ath.c 2007-12-13 05:25:11.582285503 +0100 
    38 +++ madwifi-dfs-r3053/ath/if_ath.c      2007-12-13 05:25:12.854357994 +0100 
    39 @@ -4595,6 +4595,46 @@ 
     35Index: madwifi-dfs-r3252/ath/if_ath.c 
     36=================================================================== 
     37--- madwifi-dfs-r3252.orig/ath/if_ath.c 2008-01-25 21:13:59.245226430 +0100 
     38+++ madwifi-dfs-r3252/ath/if_ath.c      2008-01-25 21:14:09.797827791 +0100 
     39@@ -4698,6 +4698,46 @@ 
    4040 #undef USE_SHPREAMBLE 
    4141 } 
     
    8484  * Generate beacon frame and queue cab data for a VAP. 
    8585  */ 
    86 Index: madwifi-dfs-r3053/net80211/ieee80211_scan_ap.c 
    87 =================================================================== 
    88 --- madwifi-dfs-r3053.orig/net80211/ieee80211_scan_ap.c 2007-12-13 05:25:10.554226918 +0100 
    89 +++ madwifi-dfs-r3053/net80211/ieee80211_scan_ap.c      2007-12-13 05:25:12.858358223 +0100 
    90 @@ -46,12 +46,16 @@ 
     86Index: madwifi-dfs-r3252/net80211/ieee80211_scan_ap.c 
     87=================================================================== 
     88--- madwifi-dfs-r3252.orig/net80211/ieee80211_scan_ap.c 2008-01-25 21:13:50.852748172 +0100 
     89+++ madwifi-dfs-r3252/net80211/ieee80211_scan_ap.c      2008-01-25 21:14:33.343169561 +0100 
     90@@ -46,7 +46,12 @@ 
    9191 #include <linux/netdevice.h> 
    9292 #include <linux/init.h> 
    9393 #include <linux/delay.h> 
    94 -#include <linux/sort.h> 
    95 - 
    96  #include "if_media.h" 
    97   
    98  #include <net80211/ieee80211_var.h> 
    99   
     94+ 
    10095+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11) 
    10196+#include "sort.c" 
    10297+#else 
    103 +#include <linux/sort.h> 
    104 +#endif 
    105 + 
    106  #define        AP_PURGE_SCANS  2               /* age for purging entries (scans) */ 
    107  #define RSSI_LPF_LEN   10 
    108  #define        RSSI_EP_MULTIPLIER      (1<<7)  /* pow2 to optimize out * and / */ 
    109 Index: madwifi-dfs-r3053/net80211/sort.c 
     98 #include <linux/sort.h> 
     99+#endif 
     100  
     101 #include "if_media.h" 
     102  
     103Index: madwifi-dfs-r3252/net80211/sort.c 
    110104=================================================================== 
    111105--- /dev/null   1970-01-01 00:00:00.000000000 +0000 
    112 +++ madwifi-dfs-r3053/net80211/sort.c   2007-12-13 05:25:12.862358452 +0100 
     106+++ madwifi-dfs-r3252/net80211/sort.c   2008-01-25 21:14:09.801828016 +0100 
    113107@@ -0,0 +1,120 @@ 
    114108+/* 
  • trunk/package/madwifi/patches/200-no_debug.patch

    r9719 r10259  
    1 Index: madwifi-dfs-r3053/ath/if_ath.c 
    2 =================================================================== 
    3 --- madwifi-dfs-r3053.orig/ath/if_ath.c 2007-12-13 05:25:13.122373270 +0100 
    4 +++ madwifi-dfs-r3053/ath/if_ath.c      2007-12-13 05:25:13.342385808 +0100 
    5 @@ -42,7 +42,7 @@ 
     1Index: madwifi-dfs-r3246/ath/if_ath.c 
     2=================================================================== 
     3--- madwifi-dfs-r3246.orig/ath/if_ath.c 2008-01-25 18:17:16.252409313 +0100 
     4+++ madwifi-dfs-r3246/ath/if_ath.c      2008-01-25 18:24:41.981809984 +0100 
     5@@ -42,7 +42,6 @@ 
    66  * This software is derived from work of Atsushi Onoe; his contribution 
    77  * is greatly appreciated. 
    88  */ 
    99-#define        AR_DEBUG 
    10 +#undef AR_DEBUG 
    1110 #include "if_ath_debug.h" 
    1211 #include "opt_ah.h" 
    1312  
    14 @@ -516,9 +516,11 @@ 
     13@@ -522,9 +521,11 @@ 
    1514        u_int8_t csz; 
    1615  
     
    2221+#endif 
    2322  
    24         /* 
    25          * Cache line size is used to size and align various 
    26 @@ -1280,12 +1282,14 @@ 
     23        /* Allocate space for dynamically determined maximum VAP count */ 
     24        sc->sc_bslot =  
     25@@ -1301,12 +1302,14 @@ 
    2726                /* If no default VAP debug flags are passed, allow a few to 
    2827                 * transfer down from the driver to new VAPs so we can have load 
     
    3938        ic->ic_debug = (sc->sc_default_ieee80211_debug & IEEE80211_MSG_IC); 
    4039  
    41 @@ -10308,9 +10312,11 @@ 
     40@@ -10524,9 +10527,11 @@ 
    4241                                /* XXX validate? */ 
    4342                                sc->sc_ledpin = val; 
     
    5150                        case ATH_TXANTENNA: 
    5251                                /* 
    53 @@ -10721,9 +10727,11 @@ 
     52@@ -10946,9 +10951,11 @@ 
    5453        } 
    5554  
     
    6362        sc->sc_txintrperiod = ATH_TXQ_INTR_PERIOD; 
    6463 } 
    65 Index: madwifi-dfs-r3053/ath_rate/amrr/amrr.c 
    66 =================================================================== 
    67 --- madwifi-dfs-r3053.orig/ath_rate/amrr/amrr.c 2007-12-13 05:25:10.422219395 +0100 
    68 +++ madwifi-dfs-r3053/ath_rate/amrr/amrr.c      2007-12-13 05:25:13.342385808 +0100 
    69 @@ -70,7 +70,7 @@ 
     64Index: madwifi-dfs-r3246/ath_rate/amrr/amrr.c 
     65=================================================================== 
     66--- madwifi-dfs-r3246.orig/ath_rate/amrr/amrr.c 2008-01-25 18:17:16.260409771 +0100 
     67+++ madwifi-dfs-r3246/ath_rate/amrr/amrr.c      2008-01-25 18:17:18.304526256 +0100 
     68@@ -70,7 +70,9 @@ 
    7069  
    7170 #include "amrr.h" 
    7271  
    73 -#define        AMRR_DEBUG 
    74 +#undef AMRR_DEBUG 
     72+#ifdef AR_DEBUG 
     73 #define        AMRR_DEBUG 
     74+#endif 
    7575 #ifdef AMRR_DEBUG 
    7676 #define        DPRINTF(sc, _fmt, ...) do {                                     \ 
    7777        if (sc->sc_debug & 0x10)                                        \ 
    78 Index: madwifi-dfs-r3053/ath_rate/minstrel/minstrel.c 
    79 =================================================================== 
    80 --- madwifi-dfs-r3053.orig/ath_rate/minstrel/minstrel.c 2007-12-13 05:25:12.006309667 +0100 
    81 +++ madwifi-dfs-r3053/ath_rate/minstrel/minstrel.c      2007-12-13 05:25:13.350386263 +0100 
    82 @@ -117,7 +117,7 @@ 
     78Index: madwifi-dfs-r3246/ath_rate/minstrel/minstrel.c 
     79=================================================================== 
     80--- madwifi-dfs-r3246.orig/ath_rate/minstrel/minstrel.c 2008-01-25 18:17:16.268410227 +0100 
     81+++ madwifi-dfs-r3246/ath_rate/minstrel/minstrel.c      2008-01-25 18:17:18.316526944 +0100 
     82@@ -117,7 +117,9 @@ 
    8383  
    8484 #include "minstrel.h" 
    8585  
    86 -#define        MINSTREL_DEBUG 
    87 +#undef MINSTREL_DEBUG 
     86+#ifdef AR_DEBUG 
     87 #define        MINSTREL_DEBUG 
     88+#endif 
    8889 #ifdef MINSTREL_DEBUG 
    8990 enum { 
    9091                ATH_DEBUG_RATE          = 0x00000010    /* rate control */ 
    91 Index: madwifi-dfs-r3053/ath_rate/onoe/onoe.c 
    92 =================================================================== 
    93 --- madwifi-dfs-r3053.orig/ath_rate/onoe/onoe.c 2007-12-13 05:25:10.438220308 +0100 
    94 +++ madwifi-dfs-r3053/ath_rate/onoe/onoe.c      2007-12-13 05:25:13.354386489 +0100 
    95 @@ -66,7 +66,7 @@ 
     92Index: madwifi-dfs-r3246/ath_rate/onoe/onoe.c 
     93=================================================================== 
     94--- madwifi-dfs-r3246.orig/ath_rate/onoe/onoe.c 2008-01-25 18:17:16.276410682 +0100 
     95+++ madwifi-dfs-r3246/ath_rate/onoe/onoe.c      2008-01-25 18:17:18.320527171 +0100 
     96@@ -66,7 +66,9 @@ 
    9697  
    9798 #include "onoe.h" 
    9899  
    99 -#define        ONOE_DEBUG 
    100 +#undef ONOE_DEBUG 
     100+#ifdef AR_DEBUG 
     101 #define        ONOE_DEBUG 
     102+#endif 
    101103 #ifdef ONOE_DEBUG 
    102104 enum { 
    103105        ATH_DEBUG_RATE  = 0x00000010,   /* rate control */ 
    104 Index: madwifi-dfs-r3053/ath_rate/sample/sample.c 
    105 =================================================================== 
    106 --- madwifi-dfs-r3053.orig/ath_rate/sample/sample.c     2007-12-13 05:25:10.446220763 +0100 
    107 +++ madwifi-dfs-r3053/ath_rate/sample/sample.c  2007-12-13 05:25:13.358386718 +0100 
    108 @@ -68,7 +68,7 @@ 
     106Index: madwifi-dfs-r3246/ath_rate/sample/sample.c 
     107=================================================================== 
     108--- madwifi-dfs-r3246.orig/ath_rate/sample/sample.c     2008-01-25 18:17:16.284411140 +0100 
     109+++ madwifi-dfs-r3246/ath_rate/sample/sample.c  2008-01-25 18:17:18.324527396 +0100 
     110@@ -68,7 +68,9 @@ 
    109111  
    110112 #include "sample.h" 
    111113  
    112114-#define        SAMPLE_DEBUG 
    113 +#undef SAMPLE_DEBUG 
     115+#ifdef AR_DEBUG 
     116+#define SAMPLE_DEBUG 
     117+#endif 
    114118 #ifdef SAMPLE_DEBUG 
    115119 enum { 
    116120        ATH_DEBUG_RATE          = 0x00000010,   /* rate control */ 
    117 Index: madwifi-dfs-r3053/tools/do_multi.c 
    118 =================================================================== 
    119 --- madwifi-dfs-r3053.orig/tools/do_multi.c     2007-12-13 05:25:11.242266126 +0100 
    120 +++ madwifi-dfs-r3053/tools/do_multi.c  2007-12-13 05:25:13.362386947 +0100 
     121Index: madwifi-dfs-r3246/tools/do_multi.c 
     122=================================================================== 
     123--- madwifi-dfs-r3246.orig/tools/do_multi.c     2008-01-25 18:17:16.292411592 +0100 
     124+++ madwifi-dfs-r3246/tools/do_multi.c  2008-01-25 18:24:59.262794773 +0100 
    121125@@ -9,16 +9,20 @@ 
    122126  
    123127     progname = basename(argv[0]); 
    124128  
    125 +#if 0 
     129+#ifdef AR_DEBUG 
    126130     if(strcmp(progname, "80211debug") == 0) 
    127131        ret = a80211debug_init(argc, argv); 
     
    133137     if(strcmp(progname, "athctrl") == 0) 
    134138        ret =  athctrl_init(argc, argv); 
    135 +#if 0 
     139+#ifdef AR_DEBUG 
    136140     if(strcmp(progname, "athdebug") == 0) 
    137141        ret =  athdebug_init(argc, argv); 
     
    140144        ret =  athkey_init(argc, argv); 
    141145     if(strcmp(progname, "athstats") == 0) 
    142 Index: madwifi-dfs-r3053/tools/Makefile 
    143 =================================================================== 
    144 --- madwifi-dfs-r3053.orig/tools/Makefile       2007-12-13 05:25:11.246266355 +0100 
    145 +++ madwifi-dfs-r3053/tools/Makefile    2007-12-13 05:25:13.362386947 +0100 
    146 @@ -48,7 +48,7 @@ 
    147   
     146Index: madwifi-dfs-r3246/tools/Makefile 
     147=================================================================== 
     148--- madwifi-dfs-r3246.orig/tools/Makefile       2008-01-25 18:17:16.300412050 +0100 
     149+++ madwifi-dfs-r3246/tools/Makefile    2008-01-25 18:17:29.737177767 +0100 
     150@@ -46,9 +46,10 @@ 
     151 HAL=   $(TOP)/hal 
     152 endif 
     153  
     154+DEBUG=-DAR_DEBUG 
    148155  
    149156 ALLPROGS=      athstats 80211stats athkey athchans athctrl \ 
    150157-       athdebug 80211debug wlanconfig ath_info 
    151 +       wlanconfig ath_info 
     158+       $(if $(DEBUG),80211debug athdebug) wlanconfig ath_info 
    152159  
    153160 OBJS=  $(patsubst %,%.o,$(ALLPROGS) do_multi) 
    154161 ALL=   ${OBJS} madwifi_multi 
    155 @@ -84,7 +84,7 @@ 
     162@@ -57,7 +58,7 @@ 
     163  
     164 INCS=  -I. -I$(HAL) -I$(TOP) -I$(ATH_HAL) 
     165 CFLAGS=        -g -O2 -Wall 
     166-ALL_CFLAGS= $(CFLAGS) $(INCS) 
     167+ALL_CFLAGS= $(CFLAGS) $(INCS) $(DEBUG) 
     168 LDFLAGS= 
     169  
     170 all:   $(ALL) 
     171@@ -84,7 +85,7 @@ 
    156172        ${CC} -c -o do_multi.o -DDOMULTI=1 ${ALL_CFLAGS} do_multi.c 
    157173 madwifi_multi: $(OBJS) 
    158174        ${CC} -o madwifi_multi ${LDFLAGS} ${OBJS} 
    159175-       for i in athstats 80211stats athkey athchans athctrl athdebug wlanconfig 80211debug; do \ 
    160 +       for i in athstats 80211stats athkey athchans athctrl wlanconfig; do \ 
     176+       for i in $(ALLPROGS); do \ 
    161177        ln -s -f madwifi_multi $$i; \ 
    162178        done 
    163179  
    164 Index: madwifi-dfs-r3053/net80211/ieee80211_linux.h 
    165 =================================================================== 
    166 --- madwifi-dfs-r3053.orig/net80211/ieee80211_linux.h   2007-12-13 05:25:10.470222132 +0100 
    167 +++ madwifi-dfs-r3053/net80211/ieee80211_linux.h        2007-12-13 05:25:13.362386947 +0100 
    168 @@ -29,8 +29,8 @@ 
     180Index: madwifi-dfs-r3246/net80211/ieee80211_linux.h 
     181=================================================================== 
     182--- madwifi-dfs-r3246.orig/net80211/ieee80211_linux.h   2008-01-25 18:17:16.308412507 +0100 
     183+++ madwifi-dfs-r3246/net80211/ieee80211_linux.h        2008-01-25 18:17:18.324527396 +0100 
     184@@ -29,8 +29,6 @@ 
    169185 #ifndef _NET80211_IEEE80211_LINUX_H_ 
    170186 #define _NET80211_IEEE80211_LINUX_H_ 
     
    172188-#define        IEEE80211_DEBUG 
    173189-#define        IEEE80211_DEBUG_REFCNT                  /* Node reference count debugging */ 
    174 +#undef IEEE80211_DEBUG 
    175 +#undef IEEE80211_DEBUG_REFCNT                  /* Node reference count debugging */ 
    176190 /* #define ATH_DEBUG_SPINLOCKS */              /* announce before spinlocking */ 
    177191  
    178192 #include <linux/wireless.h> 
     193Index: madwifi-dfs-r3246/Makefile.inc 
     194=================================================================== 
     195--- madwifi-dfs-r3246.orig/Makefile.inc 2008-01-25 18:17:16.316412961 +0100 
     196+++ madwifi-dfs-r3246/Makefile.inc      2008-01-25 18:17:18.328527625 +0100 
     197@@ -148,7 +148,8 @@ 
     198 TOOLS=  $(TOP)/tools  
     199  
     200 WARNINGS = -Werror 
     201-COPTS+= $(WARNINGS) 
     202+DEBUG = -DAR_DEBUG -DIEEE80211_DEBUG 
     203+COPTS+= $(WARNINGS) $(DEBUG) 
     204 INCS=  -include $(TOP)/include/compat.h -I$(TOP)/include 
     205  
     206 # TARGET defines the target platform architecture. It must match one of 
  • trunk/package/madwifi/patches/300-napi_polling.patch

    r9719 r10259  
    1 Index: madwifi-dfs-r3053/ath/if_ath.c 
    2 =================================================================== 
    3 --- madwifi-dfs-r3053.orig/ath/if_ath.c 2007-12-13 05:25:13.342385808 +0100 
    4 +++ madwifi-dfs-r3053/ath/if_ath.c      2007-12-13 05:25:13.662404044 +0100 
    5 @@ -189,7 +189,7 @@ 
     1Index: madwifi-dfs-r3246/ath/if_ath.c 
     2=================================================================== 
     3--- madwifi-dfs-r3246.orig/ath/if_ath.c 2008-01-25 16:28:31.352327279 +0100 
     4+++ madwifi-dfs-r3246/ath/if_ath.c      2008-01-25 16:30:04.921659489 +0100 
     5@@ -188,7 +188,7 @@ 
    66        struct sk_buff *, int, int, u_int64_t); 
    77 static void ath_setdefantenna(struct ath_softc *, u_int); 
     
    1212 static int ath_mgtstart(struct ieee80211com *, struct sk_buff *); 
    1313 #ifdef ATH_SUPERG_COMP 
    14 @@ -535,7 +535,6 @@ 
     14@@ -545,7 +545,6 @@ 
    1515        ATH_TXBUF_LOCK_INIT(sc); 
    1616        ATH_RXBUF_LOCK_INIT(sc); 
    1717  
    1818-       ATH_INIT_TQUEUE(&sc->sc_rxtq,     ath_rx_tasklet,       dev); 
    19         ATH_INIT_TQUEUE(&sc->sc_txtq,     ath_tx_tasklet,       dev); 
     19        ATH_INIT_TQUEUE(&sc->sc_txtq,     ath_tx_tasklet,       dev); 
    2020        ATH_INIT_TQUEUE(&sc->sc_bmisstq,  ath_bmiss_tasklet,    dev); 
    2121        ATH_INIT_TQUEUE(&sc->sc_bstucktq, ath_bstuck_tasklet,   dev); 
    22 @@ -808,6 +807,8 @@ 
     22@@ -822,6 +821,8 @@ 
    2323        dev->set_mac_address = ath_set_mac_address; 
    2424        dev->change_mtu = ath_change_mtu; 
     
    2929        dev->hard_header_len += sizeof(struct ieee80211_qosframe) + 
    3030                                sizeof(struct llc) + 
    31 @@ -2150,6 +2151,7 @@ 
    32                 (status & HAL_INT_RXPHY)   ? " HAL_INT_RXPHY"   : "", 
    33                 (status & HAL_INT_SWBA)    ? " HAL_INT_SWBA"    : ""); 
     31@@ -2233,6 +2234,7 @@ 
     32                (status & HAL_INT_GLOBAL)       ? " HAL_INT_GLOBAL"     : "" 
     33                ); 
    3434  
    3535+       sc->sc_isr = status; 
     
    3737        if (status & HAL_INT_FATAL) { 
    3838                sc->sc_stats.ast_hardware++; 
    39 @@ -2201,7 +2203,14 @@ 
     39@@ -2284,7 +2286,14 @@ 
    4040                } 
    4141                if (status & (HAL_INT_RX | HAL_INT_RXPHY)) { 
     
    5353                if (status & HAL_INT_TX) { 
    5454 #ifdef ATH_SUPERG_DYNTURBO 
    55 @@ -2227,6 +2236,11 @@ 
     55@@ -2310,6 +2319,11 @@ 
    5656                                } 
    5757                        } 
     
    6565                } 
    6666                if (status & HAL_INT_BMISS) { 
    67 @@ -3904,10 +3918,10 @@ 
     67@@ -4017,10 +4031,10 @@ 
    6868         * 
    6969         * XXX Using in_softirq is not right since we might 
     
    7878 } 
    7979  
    80 @@ -3920,7 +3934,7 @@ 
     80@@ -4033,7 +4047,7 @@ 
    8181        DPRINTF(sc, ATH_DEBUG_KEYCACHE, "%s:\n", __func__); 
    8282        netif_start_queue(dev); 
     
    8787  
    8888 /* 
    89 @@ -6287,13 +6301,12 @@ 
     89@@ -6358,13 +6372,12 @@ 
    9090        sc->sc_rxotherant = 0; 
    9191 } 
     
    103103        struct ath_softc *sc = dev->priv; 
    104104        struct ieee80211com *ic = &sc->sc_ic; 
    105 @@ -6305,8 +6318,11 @@ 
     105@@ -6376,8 +6389,11 @@ 
    106106        unsigned int len; 
    107107        int type; 
     
    115115                bf = STAILQ_FIRST(&sc->sc_rxbuf); 
    116116                if (bf == NULL) {               /* XXX ??? can this happen */ 
    117 @@ -6330,6 +6346,13 @@ 
     117@@ -6401,6 +6417,13 @@ 
    118118                        /* NB: never process the self-linked entry at the end */ 
    119119                        break; 
     
    129129                if (skb == NULL) { 
    130130                        printk("%s: no skbuff (%s)\n", DEV_NAME(dev), __func__); 
    131 @@ -6374,6 +6397,7 @@ 
     131@@ -6448,6 +6471,7 @@ 
    132132                                sc->sc_stats.ast_rx_phyerr++; 
    133133                                phyerr = rs->rs_phyerr & 0x1f; 
     
    137137                        if (rs->rs_status & HAL_RXERR_DECRYPT) { 
    138138                                /* 
    139 @@ -6571,9 +6595,33 @@ 
     139@@ -6658,9 +6682,33 @@ 
    140140                STAILQ_INSERT_TAIL(&sc->sc_rxbuf, bf, bf_list); 
    141141                ATH_RXBUF_UNLOCK_IRQ(sc); 
     
    171171 } 
    172172  
    173 @@ -8192,11 +8240,22 @@ 
     173@@ -8308,11 +8356,22 @@ 
    174174        struct net_device *dev = (struct net_device *)data; 
    175175        struct ath_softc *sc = dev->priv; 
     
    194194  
    195195        if (sc->sc_softled) 
    196 @@ -8213,6 +8272,7 @@ 
     196@@ -8329,6 +8388,7 @@ 
    197197        struct net_device *dev = (struct net_device *)data; 
    198198        struct ath_softc *sc = dev->priv; 
     
    202202         * Process each active queue. 
    203203         */ 
    204 @@ -8233,6 +8293,16 @@ 
     204@@ -8349,6 +8409,16 @@ 
    205205        if (sc->sc_uapsdq && txqactive(sc->sc_ah, sc->sc_uapsdq->axq_qnum)) 
    206206                ath_tx_processq(sc, sc->sc_uapsdq); 
     
    219219  
    220220        if (sc->sc_softled) 
    221 @@ -8250,6 +8320,7 @@ 
    222         unsigned int i; 
    223   
    224         /* Process each active queue. */ 
     221@@ -8367,10 +8437,21 @@ 
     222  
     223        /* Process each active queue. This includes sc_cabq, sc_xrtq and 
     224         * sc_uapsdq */ 
    225225+process_tx_again: 
    226226        for (i = 0; i < HAL_NUM_TX_QUEUES; i++) 
    227227                if (ATH_TXQ_SETUP(sc, i) && txqactive(sc->sc_ah, i)) 
    228228                        ath_tx_processq(sc, &sc->sc_txq[i]); 
    229 @@ -8258,6 +8329,16 @@ 
    230                 ath_tx_processq(sc, sc->sc_xrtxq); 
    231  #endif 
    232229  
    233230+       ATH_DISABLE_INTR(); 
     
    244241  
    245242        if (sc->sc_softled) 
    246 @@ -8332,6 +8413,7 @@ 
     243@@ -8445,6 +8526,7 @@ 
    247244 ath_draintxq(struct ath_softc *sc) 
    248245 { 
     
    252249  
    253250        /* XXX return value */ 
    254 @@ -10095,9 +10177,9 @@ 
     251@@ -10310,9 +10392,9 @@ 
    255252        dev->mtu = mtu; 
    256253        if ((dev->flags & IFF_RUNNING) && !sc->sc_invalid) { 
     
    264261        ATH_UNLOCK(sc); 
    265262  
    266 Index: madwifi-dfs-r3053/ath/if_athvar.h 
    267 =================================================================== 
    268 --- madwifi-dfs-r3053.orig/ath/if_athvar.h      2007-12-13 05:25:12.842357313 +0100 
    269 +++ madwifi-dfs-r3053/ath/if_athvar.h   2007-12-13 05:25:13.666404270 +0100 
     263Index: madwifi-dfs-r3246/ath/if_athvar.h 
     264=================================================================== 
     265--- madwifi-dfs-r3246.orig/ath/if_athvar.h      2008-01-25 16:28:31.304324541 +0100 
     266+++ madwifi-dfs-r3246/ath/if_athvar.h   2008-01-25 16:28:36.740634339 +0100 
    270267@@ -50,6 +50,10 @@ 
    271268 #include <asm/io.h> 
     
    295292        u_int8_t sc_grppoll_str[GRPPOLL_RATE_STR_LEN]; 
    296293        struct ath_descdma sc_bdma;             /* beacon descriptors */ 
    297 @@ -853,6 +857,8 @@ 
     294@@ -854,6 +858,8 @@ 
    298295 #define        ATH_TXBUF_LOCK_CHECK(_sc) 
    299296 #endif 
     
    304301 #define        ATH_RXBUF_LOCK_INIT(_sc)        spin_lock_init(&(_sc)->sc_rxbuflock) 
    305302 #define        ATH_RXBUF_LOCK_DESTROY(_sc) 
    306 Index: madwifi-dfs-r3053/net80211/ieee80211_input.c 
    307 =================================================================== 
    308 --- madwifi-dfs-r3053.orig/net80211/ieee80211_input.c   2007-12-13 05:25:10.374216660 +0100 
    309 +++ madwifi-dfs-r3053/net80211/ieee80211_input.c        2007-12-13 05:25:13.674404726 +0100 
    310 @@ -1178,7 +1178,7 @@ 
     303Index: madwifi-dfs-r3246/net80211/ieee80211_input.c 
     304=================================================================== 
     305--- madwifi-dfs-r3246.orig/net80211/ieee80211_input.c   2008-01-25 16:27:28.000000000 +0100 
     306+++ madwifi-dfs-r3246/net80211/ieee80211_input.c        2008-01-25 16:32:53.171247487 +0100 
     307@@ -1196,7 +1196,7 @@ 
    311308                        /* attach vlan tag */ 
    312309                        struct ieee80211_node *ni_tmp = SKB_CB(skb)->ni; 
    313310                        if (vlan_hwaccel_receive_skb(skb, vap->iv_vlgrp, ni->ni_vlan) == NET_RX_DROP) { 
    314311-                               /* If netif_rx dropped the packet because  
    315 +                               /* If netif_receive_skb dropped the packet because  
     312+                               /* If netif_receive_skb dropped the packet because 
    316313                                 * device was too busy */ 
    317314                                if (ni_tmp != NULL) { 
    318315                                        /* node reference was leaked */ 
    319 @@ -1189,8 +1189,8 @@ 
     316@@ -1207,8 +1207,8 @@ 
    320317                        skb = NULL; /* SKB is no longer ours */ 
    321318                } else { 
     
    324321-                               /* If netif_rx dropped the packet because  
    325322+                       if (netif_receive_skb(skb) == NET_RX_DROP) { 
    326 +                               /* If netif_receive_skb dropped the packet because  
     323+                               /* If netif_receive_skb dropped the packet because 
    327324                                 * device was too busy */ 
    328325                                if (ni_tmp != NULL) { 
    329326                                        /* node reference was leaked */ 
    330 @@ -2299,8 +2299,8 @@ 
     327@@ -2313,8 +2313,8 @@ 
    331328                skb1->protocol = __constant_htons(0x0019);  /* ETH_P_80211_RAW */ 
    332329  
     
    335332-                       /* If netif_rx dropped the packet because  
    336333+               if (netif_receive_skb(skb1) == NET_RX_DROP) { 
    337 +                       /* If netif_receive_skb dropped the packet because  
     334+                       /* If netif_receive_skb dropped the packet because 
    338335                         * device was too busy */ 
    339336                        if (ni_tmp != NULL) { 
    340337                                /* node reference was leaked */ 
    341 Index: madwifi-dfs-r3053/net80211/ieee80211_monitor.c 
    342 =================================================================== 
    343 --- madwifi-dfs-r3053.orig/net80211/ieee80211_monitor.c 2007-12-13 05:25:10.386217344 +0100 
    344 +++ madwifi-dfs-r3053/net80211/ieee80211_monitor.c      2007-12-13 05:25:13.678404955 +0100 
    345 @@ -577,7 +577,7 @@ 
    346                         skb1->protocol = __constant_htons(0x0019); /* ETH_P_80211_RAW */ 
    347   
    348                         ni_tmp = SKB_CB(skb1)->ni; 
     338Index: madwifi-dfs-r3246/net80211/ieee80211_monitor.c 
     339=================================================================== 
     340--- madwifi-dfs-r3246.orig/net80211/ieee80211_monitor.c 2008-01-25 16:27:28.000000000 +0100 
     341+++ madwifi-dfs-r3246/net80211/ieee80211_monitor.c      2008-01-25 16:32:05.436527235 +0100 
     342@@ -586,8 +586,8 @@ 
     343                        skb1->protocol =  
     344                                __constant_htons(0x0019); /* ETH_P_80211_RAW */ 
     345  
    349346-                       if (netif_rx(skb1) == NET_RX_DROP) { 
     347-                               /* If netif_rx dropped the packet because  
    350348+                       if (netif_receive_skb(skb1) == NET_RX_DROP) { 
    351                                 /* If netif_rx dropped the packet because  
    352                                  * device was too busy */ 
    353                                 if (ni_tmp != NULL) { 
     349+                               /* If netif_receive_skb dropped the packet because 
     350                                 * device was too busy, reclaim the ref. in  
     351                                 * the skb. */ 
     352                                if (SKB_CB(skb1)->ni != NULL) 
     353Index: madwifi-dfs-r3246/net80211/ieee80211_skb.c 
     354=================================================================== 
     355--- madwifi-dfs-r3246.orig/net80211/ieee80211_skb.c     2008-01-25 16:31:47.167486151 +0100 
     356+++ madwifi-dfs-r3246/net80211/ieee80211_skb.c  2008-01-25 16:31:55.695972162 +0100 
     357@@ -73,7 +73,7 @@ 
     358 #undef dev_queue_xmit 
     359 #undef kfree_skb 
     360 #undef kfree_skb_fast 
     361-#undef netif_rx 
     362+#undef netif_receive_skb 
     363 #undef pskb_copy 
     364 #undef skb_clone 
     365 #undef skb_copy 
     366@@ -627,8 +627,8 @@ 
     367                grp, vlan_tag); 
     368 } 
     369  
     370-int netif_rx_debug(struct sk_buff *skb, const char* func, int line) { 
     371-       return netif_rx(untrack_skb(skb, 0, func, line, __func__, __LINE__)); 
     372+int netif_receive_skb_debug(struct sk_buff *skb, const char* func, int line) { 
     373+       return netif_receive_skb(untrack_skb(skb, 0, func, line, __func__, __LINE__)); 
     374 } 
     375  
     376 struct sk_buff * alloc_skb_debug(unsigned int length, gfp_t gfp_mask, 
     377@@ -749,7 +749,7 @@ 
     378 } 
     379  
     380 EXPORT_SYMBOL(vlan_hwaccel_receive_skb_debug); 
     381-EXPORT_SYMBOL(netif_rx_debug); 
     382+EXPORT_SYMBOL(netif_receive_skb_debug); 
     383 EXPORT_SYMBOL(alloc_skb_debug); 
     384 EXPORT_SYMBOL(dev_alloc_skb_debug); 
     385 EXPORT_SYMBOL(skb_clone_debug); 
     386Index: madwifi-dfs-r3246/net80211/ieee80211_skb.h 
     387=================================================================== 
     388--- madwifi-dfs-r3246.orig/net80211/ieee80211_skb.h     2008-01-25 16:31:20.845986170 +0100 
     389+++ madwifi-dfs-r3246/net80211/ieee80211_skb.h  2008-01-25 16:31:36.982905763 +0100 
     390@@ -116,7 +116,7 @@ 
     391 int  vlan_hwaccel_receive_skb_debug(struct sk_buff *skb,  
     392                                    struct vlan_group *grp, unsigned short vlan_tag,  
     393                                    const char* func, int line); 
     394-int netif_rx_debug(struct sk_buff *skb, const char* func, int line); 
     395+int netif_receive_skb_debug(struct sk_buff *skb, const char* func, int line); 
     396 struct sk_buff * alloc_skb_debug(unsigned int length, gfp_t gfp_mask, 
     397                                 const char *func, int line); 
     398 struct sk_buff * dev_alloc_skb_debug(unsigned int length, 
     399@@ -151,7 +151,7 @@ 
     400 #undef dev_queue_xmit 
     401 #undef kfree_skb 
     402 #undef kfree_skb_fast 
     403-#undef netif_rx 
     404+#undef netif_receive_skb 
     405 #undef pskb_copy 
     406 #undef skb_clone 
     407 #undef skb_copy 
     408@@ -168,8 +168,8 @@ 
     409        skb_copy_expand_debug(_skb, _newheadroom, _newtailroom, _gfp_mask, __func__, __LINE__) 
     410 #define vlan_hwaccel_receive_skb(_skb, _grp, _tag) \ 
     411        vlan_hwaccel_receive_skb_debug(_skb, _grp, _tag, __func__, __LINE__) 
     412-#define netif_rx(_skb) \ 
     413-       netif_rx_debug(_skb, __func__, __LINE__) 
     414+#define netif_receive_skb(_skb) \ 
     415+       netif_receive_skb_debug(_skb, __func__, __LINE__) 
     416 #define        alloc_skb(_length, _gfp_mask) \ 
     417        alloc_skb_debug(_length, _gfp_mask, __func__, __LINE__) 
     418 #define        dev_alloc_skb(_length) \ 
  • trunk/package/madwifi/patches/305-pureg_fix.patch

    r9719 r10259  
    1 Index: madwifi-dfs-r3053/ath/if_ath.c 
     1Index: madwifi-dfs-r3246/ath/if_ath.c 
    22=================================================================== 
    3 --- madwifi-dfs-r3053.orig/ath/if_ath.c 2007-12-13 05:25:13.662404044 +0100 
    4 +++ madwifi-dfs-r3053/ath/if_ath.c      2007-12-13 05:25:13.934419543 +0100 
    5 @@ -3973,7 +3973,9 @@ 
     3--- madwifi-dfs-r3246.orig/ath/if_ath.c 2008-01-25 16:30:04.921659489 +0100 
     4+++ madwifi-dfs-r3246/ath/if_ath.c      2008-01-25 16:33:11.528293596 +0100 
     5@@ -4086,7 +4086,9 @@ 
    66                rfilt |= HAL_RX_FILTER_PROM; 
    77        if (ic->ic_opmode == IEEE80211_M_STA || 
     
    1414        if (sc->sc_nmonvaps > 0) 
    1515                rfilt |= (HAL_RX_FILTER_CONTROL | HAL_RX_FILTER_BEACON | 
    16 Index: madwifi-dfs-r3053/net80211/ieee80211_input.c 
     16Index: madwifi-dfs-r3246/net80211/ieee80211_input.c 
    1717=================================================================== 
    18 --- madwifi-dfs-r3053.orig/net80211/ieee80211_input.c   2007-12-13 05:25:13.674404726 +0100 
    19 +++ madwifi-dfs-r3053/net80211/ieee80211_input.c        2007-12-13 05:25:13.938419772 +0100 
    20 @@ -329,11 +329,12 @@ 
     18--- madwifi-dfs-r3246.orig/net80211/ieee80211_input.c   2008-01-25 16:32:53.171247487 +0100 
     19+++ madwifi-dfs-r3246/net80211/ieee80211_input.c        2008-01-25 16:35:46.341115878 +0100 
     20@@ -346,11 +346,12 @@ 
    2121                                bssid = wh->i_addr3; 
    2222                        } 
     
    2525+                        * Validate the bssid. Let beacons get through though for 11g protection mode. 
    2626                         */ 
    27  #ifdef ATH_SUPERG_XR 
    28                         if (!IEEE80211_ADDR_EQ(bssid, vap->iv_bss->ni_bssid) && 
     27-#ifdef ATH_SUPERG_XR 
     28                        if (!IEEE80211_ADDR_EQ(bssid, vap->iv_bssid) && 
    2929-                           !IEEE80211_ADDR_EQ(bssid, dev->broadcast)) { 
    3030+                           !IEEE80211_ADDR_EQ(bssid, dev->broadcast) && 
    3131+                               (subtype != IEEE80211_FC0_SUBTYPE_BEACON)) { 
     32+#ifdef ATH_SUPERG_XR 
    3233                                /* 
    3334                                 * allow MGT frames to vap->iv_xrvap. 
    3435                                 * this will allow roaming between  XR and normal vaps 
    35 @@ -352,7 +353,8 @@ 
    36                         } 
     36@@ -366,18 +367,14 @@ 
     37                                        vap->iv_stats.is_rx_wrongbss++; 
     38                                        goto out; 
     39                                } 
     40-                       } 
    3741 #else 
    38                         if (!IEEE80211_ADDR_EQ(bssid, vap->iv_bss->ni_bssid) && 
     42-                       if (!IEEE80211_ADDR_EQ(bssid, vap->iv_bssid) && 
    3943-                           !IEEE80211_ADDR_EQ(bssid, dev->broadcast)) { 
    40 +                           !IEEE80211_ADDR_EQ(bssid, dev->broadcast) && 
    41 +                               (subtype != IEEE80211_FC0_SUBTYPE_BEACON)) { 
    4244                                /* not interested in */ 
    4345                                IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT, 
    4446                                        bssid, NULL, "%s", "not to bss"); 
    45 @@ -2971,7 +2973,7 @@ 
     47                                vap->iv_stats.is_rx_wrongbss++; 
     48                                goto out; 
     49-                       } 
     50- 
     51 #endif 
     52+                       } 
     53                        break; 
     54                case IEEE80211_M_WDS: 
     55                        if (skb->len < sizeof(struct ieee80211_frame_addr4)) { 
     56@@ -3023,7 +3020,7 @@ 
    4657        u_int8_t *frm, *efrm; 
    4758        u_int8_t *ssid, *rates, *xrates, *suppchan, *wpa, *rsn, *wme, *ath; 
     
    5263  
    5364        if (ni_or_null == NULL) 
    54 @@ -2996,11 +2998,15 @@ 
     65@@ -3053,11 +3050,15 @@ 
    5566                 *    o station mode when associated (to collect state 
    5667                 *      updates such as 802.11g slot time), or 
     
    6980                        return; 
    7081                } 
    71 @@ -3083,6 +3089,7 @@ 
     82@@ -3140,6 +3141,7 @@ 
    7283                                        break; 
    7384                                } 
     
    7788                        case IEEE80211_ELEMID_RSN: 
    7889                                scan.rsn = frm; 
    79 @@ -3300,6 +3307,20 @@ 
     90@@ -3357,6 +3359,20 @@ 
    8091                                ieee80211_bg_scan(vap); 
    8192                        return; 
     
    98109                 * If scanning, just pass information to the scan module. 
    99110                 */ 
    100 Index: madwifi-dfs-r3053/net80211/ieee80211_node.c 
     111Index: madwifi-dfs-r3246/net80211/ieee80211_node.c 
    101112=================================================================== 
    102 --- madwifi-dfs-r3053.orig/net80211/ieee80211_node.c    2007-12-13 05:25:10.314213240 +0100 
    103 +++ madwifi-dfs-r3053/net80211/ieee80211_node.c 2007-12-13 05:25:13.938419772 +0100 
    104 @@ -380,10 +380,16 @@ 
     113--- madwifi-dfs-r3246.orig/net80211/ieee80211_node.c    2008-01-25 16:27:28.000000000 +0100 
     114+++ madwifi-dfs-r3246/net80211/ieee80211_node.c 2008-01-25 16:33:11.540294282 +0100 
     115@@ -383,10 +383,16 @@ 
    105116        /* Update country ie information */ 
    106117        ieee80211_build_countryie(ic); 
     
    121132        (void) ieee80211_sta_join1(PASS_NODE(ni)); 
    122133 } 
    123 Index: madwifi-dfs-r3053/net80211/ieee80211_proto.c 
     134Index: madwifi-dfs-r3246/net80211/ieee80211_proto.c 
    124135=================================================================== 
    125 --- madwifi-dfs-r3053.orig/net80211/ieee80211_proto.c   2007-12-13 05:25:10.322213696 +0100 
    126 +++ madwifi-dfs-r3053/net80211/ieee80211_proto.c        2007-12-13 05:25:13.942420001 +0100 
    127 @@ -584,6 +584,28 @@ 
     136--- madwifi-dfs-r3246.orig/net80211/ieee80211_proto.c   2008-01-25 16:27:28.000000000 +0100 
     137+++ madwifi-dfs-r3246/net80211/ieee80211_proto.c        2008-01-25 16:33:11.544294507 +0100 
     138@@ -595,6 +595,28 @@ 
    128139        { 4, { 2, 4, 11, 22 } },        /* IEEE80211_MODE_TURBO_G (mixed b/g) */ 
    129140 }; 
     
    154165  * Mark the basic rates for the 11g rate table based on the 
    155166  * specified mode.  For 11b compatibility we mark only 11b 
    156 Index: madwifi-dfs-r3053/net80211/ieee80211_var.h 
     167Index: madwifi-dfs-r3246/net80211/ieee80211_var.h 
    157168=================================================================== 
    158 --- madwifi-dfs-r3053.orig/net80211/ieee80211_var.h     2007-12-13 05:25:10.330214154 +0100 
    159 +++ madwifi-dfs-r3053/net80211/ieee80211_var.h  2007-12-13 05:25:13.942420001 +0100 
    160 @@ -668,6 +668,7 @@ 
     169--- madwifi-dfs-r3246.orig/net80211/ieee80211_var.h     2008-01-25 16:27:28.000000000 +0100 
     170+++ madwifi-dfs-r3246/net80211/ieee80211_var.h  2008-01-25 16:33:11.548294736 +0100 
     171@@ -688,6 +688,7 @@ 
    161172 void ieee80211_build_sc_ie(struct ieee80211com *); 
    162173 void ieee80211_dfs_action(struct ieee80211com *); 
  • trunk/package/madwifi/patches/309-micfail_detect.patch

    r9719 r10259  
    1 Index: madwifi-dfs-r3053/ath/if_ath.c 
    2 =================================================================== 
    3 --- madwifi-dfs-r3053.orig/ath/if_ath.c 2007-12-13 05:25:13.934419543 +0100 
    4 +++ madwifi-dfs-r3053/ath/if_ath.c      2007-12-13 05:25:14.210435274 +0100 
    5 @@ -6322,6 +6322,7 @@ 
     1Index: madwifi-dfs-r3246/ath/if_ath.c 
     2=================================================================== 
     3--- madwifi-dfs-r3246.orig/ath/if_ath.c 2008-01-25 16:33:11.528293596 +0100 
     4+++ madwifi-dfs-r3246/ath/if_ath.c      2008-01-25 16:36:40.024175098 +0100 
     5@@ -6393,6 +6393,7 @@ 
    66        u_int phyerr; 
    77        u_int processed = 0, early_stop = 0; 
     
    1111        DPRINTF(sc, ATH_DEBUG_RX_PROC, "%s\n", __func__); 
    1212 process_rx_again: 
    13 @@ -6418,24 +6419,8 @@ 
     13@@ -6492,24 +6493,8 @@ 
    1414                        } 
    1515                        if (rs->rs_status & HAL_RXERR_MIC) { 
     
    2727-/* XXX revalidate MIC, lookup ni to find VAP */ 
    2828-                                       ieee80211_notify_michael_failure(ic, 
    29 -                                           (struct ieee80211_frame *) skb->data, 
     29-                                           (struct ieee80211_frame *)skb->data, 
    3030-                                           sc->sc_splitmic ? 
    3131-                                               rs->rs_keyix - 32 : rs->rs_keyix 
     
    3838                        /* 
    3939                         * Reject error frames if we have no vaps that 
    40 @@ -6494,8 +6479,9 @@ 
     40@@ -6562,8 +6547,9 @@ 
    4141                /* 
    4242                 * Finished monitor mode handling, now reject 
     
    4949                        goto rx_next; 
    5050                } 
    51 @@ -6503,6 +6489,26 @@ 
     51@@ -6571,6 +6557,26 @@ 
    5252                /* remove the CRC */ 
    5353                skb_trim(skb, skb->len - IEEE80211_CRC_LEN); 
     
    7676                 * From this point on we assume the frame is at least 
    7777                 * as large as ieee80211_frame_min; verify that. 
    78 @@ -6524,6 +6530,7 @@ 
    79                                    sc->sc_hwmap[rs->rs_rate].ieeerate, 
    80                                    rs->rs_rssi); 
     78@@ -6583,6 +6589,7 @@ 
     79                        goto rx_next; 
     80                } 
    8181  
    8282+               /* MIC failure. Drop the packet in any case */ 
    8383                /* 
    84                  * Locate the node for sender, track state, and then 
    85                  * pass the (referenced) node up to the 802.11 layer 
    86 Index: madwifi-dfs-r3053/net80211/ieee80211_crypto_ccmp.c 
    87 =================================================================== 
    88 --- madwifi-dfs-r3053.orig/net80211/ieee80211_crypto_ccmp.c     2007-12-13 05:25:12.634345457 +0100 
    89 +++ madwifi-dfs-r3053/net80211/ieee80211_crypto_ccmp.c  2007-12-13 05:25:14.210435274 +0100 
     84                 * Normal receive. 
     85                 */ 
     86Index: madwifi-dfs-r3246/net80211/ieee80211_crypto_ccmp.c 
     87=================================================================== 
     88--- madwifi-dfs-r3246.orig/net80211/ieee80211_crypto_ccmp.c     2008-01-25 16:28:31.292323859 +0100 
     89+++ madwifi-dfs-r3246/net80211/ieee80211_crypto_ccmp.c  2008-01-25 16:36:01.926004007 +0100 
    9090@@ -73,7 +73,7 @@ 
    9191 static int ccmp_encap(struct ieee80211_key *, struct sk_buff *, u_int8_t); 
     
    106106        return 1; 
    107107 } 
    108 Index: madwifi-dfs-r3053/net80211/ieee80211_crypto.h 
    109 =================================================================== 
    110 --- madwifi-dfs-r3053.orig/net80211/ieee80211_crypto.h  2007-12-13 05:25:10.214207541 +0100 
    111 +++ madwifi-dfs-r3053/net80211/ieee80211_crypto.h       2007-12-13 05:25:14.210435274 +0100 
     108Index: madwifi-dfs-r3246/net80211/ieee80211_crypto.h 
     109=================================================================== 
     110--- madwifi-dfs-r3246.orig/net80211/ieee80211_crypto.h  2008-01-25 16:27:28.000000000 +0100 
     111+++ madwifi-dfs-r3246/net80211/ieee80211_crypto.h       2008-01-25 16:36:01.926004007 +0100 
    112112@@ -145,7 +145,7 @@ 
    113113        int (*ic_encap)(struct ieee80211_key *, struct sk_buff *, u_int8_t); 
     
    132132  
    133133 /* 
    134 Index: madwifi-dfs-r3053/net80211/ieee80211_crypto_none.c 
    135 =================================================================== 
    136 --- madwifi-dfs-r3053.orig/net80211/ieee80211_crypto_none.c     2007-12-13 05:25:10.218207770 +0100 
    137 +++ madwifi-dfs-r3053/net80211/ieee80211_crypto_none.c  2007-12-13 05:25:14.214435503 +0100 
     134Index: madwifi-dfs-r3246/net80211/ieee80211_crypto_none.c 
     135=================================================================== 
     136--- madwifi-dfs-r3246.orig/net80211/ieee80211_crypto_none.c     2008-01-25 16:27:28.000000000 +0100 
     137+++ madwifi-dfs-r3246/net80211/ieee80211_crypto_none.c  2008-01-25 16:36:01.926004007 +0100 
    138138@@ -52,7 +52,7 @@ 
    139139 static int none_encap(struct ieee80211_key *, struct sk_buff *, u_int8_t); 
     
    154154        struct ieee80211vap *vap = k->wk_private; 
    155155  
    156 Index: madwifi-dfs-r3053/net80211/ieee80211_crypto_tkip.c 
    157 =================================================================== 
    158 --- madwifi-dfs-r3053.orig/net80211/ieee80211_crypto_tkip.c     2007-12-13 05:25:10.226208226 +0100 
    159 +++ madwifi-dfs-r3053/net80211/ieee80211_crypto_tkip.c  2007-12-13 05:25:14.214435503 +0100 
     156Index: madwifi-dfs-r3246/net80211/ieee80211_crypto_tkip.c 
     157=================================================================== 
     158--- madwifi-dfs-r3246.orig/net80211/ieee80211_crypto_tkip.c     2008-01-25 16:27:28.000000000 +0100 
     159+++ madwifi-dfs-r3246/net80211/ieee80211_crypto_tkip.c  2008-01-25 16:36:01.930004236 +0100 
    160160@@ -57,7 +57,7 @@ 
    161161 static int tkip_encap(struct ieee80211_key *, struct sk_buff *, u_int8_t); 
     
    185185                u8 mic[IEEE80211_WEP_MICLEN]; 
    186186                u8 mic0[IEEE80211_WEP_MICLEN]; 
    187 Index: madwifi-dfs-r3053/net80211/ieee80211_crypto_wep.c 
    188 =================================================================== 
    189 --- madwifi-dfs-r3053.orig/net80211/ieee80211_crypto_wep.c      2007-12-13 05:25:10.234208681 +0100 
    190 +++ madwifi-dfs-r3053/net80211/ieee80211_crypto_wep.c   2007-12-13 05:25:14.214435503 +0100 
     187Index: madwifi-dfs-r3246/net80211/ieee80211_crypto_wep.c 
     188=================================================================== 
     189--- madwifi-dfs-r3246.orig/net80211/ieee80211_crypto_wep.c      2008-01-25 16:27:28.000000000 +0100 
     190+++ madwifi-dfs-r3246/net80211/ieee80211_crypto_wep.c   2008-01-25 16:36:01.930004236 +0100 
    191191@@ -54,7 +54,7 @@ 
    192192 static int wep_encap(struct ieee80211_key *, struct sk_buff *, u_int8_t); 
     
    207207        return 1; 
    208208 } 
    209 Index: madwifi-dfs-r3053/net80211/ieee80211_input.c 
    210 =================================================================== 
    211 --- madwifi-dfs-r3053.orig/net80211/ieee80211_input.c   2007-12-13 05:25:13.938419772 +0100 
    212 +++ madwifi-dfs-r3053/net80211/ieee80211_input.c        2007-12-13 05:25:14.218435729 +0100 
    213 @@ -646,7 +646,7 @@ 
     209Index: madwifi-dfs-r3246/net80211/ieee80211_input.c 
     210=================================================================== 
     211--- madwifi-dfs-r3246.orig/net80211/ieee80211_input.c   2008-01-25 16:35:46.341115878 +0100 
     212+++ madwifi-dfs-r3246/net80211/ieee80211_input.c        2008-01-25 16:36:01.934004465 +0100 
     213@@ -669,7 +669,7 @@ 
    214214                 * Next strip any MSDU crypto bits. 
    215215                 */ 
     
    220220                                ni->ni_macaddr, "data", "%s", "demic error"); 
    221221                        IEEE80211_NODE_STAT(ni, rx_demicfail); 
    222 @@ -4168,6 +4168,47 @@ 
     222@@ -4221,6 +4221,47 @@ 
    223223 } 
    224224 #endif 
     
    268268 /* 
    269269  * Debugging support. 
    270 Index: madwifi-dfs-r3053/net80211/ieee80211_proto.h 
    271 =================================================================== 
    272 --- madwifi-dfs-r3053.orig/net80211/ieee80211_proto.h   2007-12-13 05:25:10.246209365 +0100 
    273 +++ madwifi-dfs-r3053/net80211/ieee80211_proto.h        2007-12-13 05:25:14.218435729 +0100 
    274 @@ -91,6 +91,7 @@ 
     270Index: madwifi-dfs-r3246/net80211/ieee80211_proto.h 
     271=================================================================== 
     272--- madwifi-dfs-r3246.orig/net80211/ieee80211_proto.h   2008-01-25 16:27:28.000000000 +0100 
     273+++ madwifi-dfs-r3246/net80211/ieee80211_proto.h        2008-01-25 16:36:01.934004465 +0100 
     274@@ -90,6 +90,7 @@ 
    275275 void ieee80211_set11gbasicrates(struct ieee80211_rateset *, enum ieee80211_phymode); 
    276276 enum ieee80211_phymode ieee80211_get11gbasicrates(struct ieee80211_rateset *); 
     
    280280 /* 
    281281  * Return the size of the 802.11 header for a management or data frame. 
    282 Index: madwifi-dfs-r3053/net80211/ieee80211_linux.c 
    283 =================================================================== 
    284 --- madwifi-dfs-r3053.orig/net80211/ieee80211_linux.c   2007-12-13 05:25:12.422333377 +0100 
    285 +++ madwifi-dfs-r3053/net80211/ieee80211_linux.c        2007-12-13 05:25:14.218435729 +0100 
     282Index: madwifi-dfs-r3246/net80211/ieee80211_linux.c 
     283=================================================================== 
     284--- madwifi-dfs-r3246.orig/net80211/ieee80211_linux.c   2008-01-25 16:28:31.280323176 +0100 
     285+++ madwifi-dfs-r3246/net80211/ieee80211_linux.c        2008-01-25 16:36:01.934004465 +0100 
    286286@@ -337,8 +337,8 @@ 
    287287        /* TODO: needed parameters: count, keyid, key type, src address, TSC */ 
     
    295295        wrqu.data.length = strlen(buf); 
    296296        wireless_send_event(dev, IWEVCUSTOM, &wrqu, buf); 
    297 Index: madwifi-dfs-r3053/net80211/ieee80211_output.c 
    298 =================================================================== 
    299 --- madwifi-dfs-r3053.orig/net80211/ieee80211_output.c  2007-12-13 05:25:10.262210276 +0100 
    300 +++ madwifi-dfs-r3053/net80211/ieee80211_output.c       2007-12-13 05:25:14.222435959 +0100 
    301 @@ -1092,13 +1092,16 @@ 
     297Index: madwifi-dfs-r3246/net80211/ieee80211_output.c 
     298=================================================================== 
     299--- madwifi-dfs-r3246.orig/net80211/ieee80211_output.c  2008-01-25 16:27:28.000000000 +0100 
     300+++ madwifi-dfs-r3246/net80211/ieee80211_output.c       2008-01-25 16:36:01.938004695 +0100 
     301@@ -1083,13 +1083,16 @@ 
    302302                        cip = (struct ieee80211_cipher *) key->wk_cipher; 
    303303                        ciphdrsize = cip->ic_header; 
     
    319319                /* 
    320320                 * Allocate sk_buff for each subsequent fragment; First fragment 
    321 Index: madwifi-dfs-r3053/net80211/ieee80211_node.c 
    322 =================================================================== 
    323 --- madwifi-dfs-r3053.orig/net80211/ieee80211_node.c    2007-12-13 05:25:13.938419772 +0100 
    324 +++ madwifi-dfs-r3053/net80211/ieee80211_node.c 2007-12-13 05:25:14.222435959 +0100 
    325 @@ -2236,11 +2236,13 @@ 
     321Index: madwifi-dfs-r3246/net80211/ieee80211_node.c 
     322=================================================================== 
     323--- madwifi-dfs-r3246.orig/net80211/ieee80211_node.c    2008-01-25 16:33:11.540294282 +0100 
     324+++ madwifi-dfs-r3246/net80211/ieee80211_node.c 2008-01-25 16:36:01.938004695 +0100 
     325@@ -2259,11 +2259,13 @@ 
    326326        /* From this point onwards we can no longer find the node, 
    327327         * so no more references are generated 
  • trunk/package/madwifi/patches/311-bssid_alloc.patch

    r10087 r10259  
    1 Index: madwifi-dfs-r3053/ath/if_ath.c 
     1Index: madwifi-dfs-r3246/ath/if_ath.c 
    22=================================================================== 
    3 --- madwifi-dfs-r3053.orig/ath/if_ath.c 2007-12-20 23:43:22.845925726 +0100 
    4 +++ madwifi-dfs-r3053/ath/if_ath.c      2007-12-20 23:43:30.570365916 +0100 
    5 @@ -1320,7 +1320,7 @@ 
     3--- madwifi-dfs-r3246.orig/ath/if_ath.c 2008-01-25 16:37:38.479506279 +0100 
     4+++ madwifi-dfs-r3246/ath/if_ath.c      2008-01-25 16:38:04.684999652 +0100 
     5@@ -1345,7 +1345,7 @@ 
    66                TAILQ_FOREACH(v, &ic->ic_vaps, iv_next) 
    7                         id_mask |= (1 << ATH_GET_VAP_ID(v->iv_myaddr, ic->ic_myaddr)); 
     7                        id_mask |= (1 << ATH_GET_VAP_ID(v->iv_myaddr)); 
    88  
    9 -               for (id = 1; id < ATH_BCBUF; id++) { 
    10 +               for (id = 0; id < ATH_BCBUF; id++) { 
     9-               for (id = 1; id < ath_maxvaps; id++) { 
     10+               for (id = 0; id < ath_maxvaps; id++) { 
    1111                        /* get the first available slot */ 
    1212                        if ((id_mask & (1 << id)) == 0) { 
    13                                 ATH_SET_VAP_BSSID(vap->iv_myaddr, ic->ic_myaddr, id); 
     13                                ATH_SET_VAP_BSSID(vap->iv_myaddr, id); 
Note: See TracChangeset for help on using the changeset viewer.