Changeset 26273


Ignore:
Timestamp:
2011-03-22T22:00:58+01:00 (7 years ago)
Author:
nbd
Message:

mac80211: update to wireless-testing 2011-03-22

Location:
trunk/package/mac80211
Files:
10 deleted
10 edited
3 moved

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/Makefile

    r26212 r26273  
    1111PKG_NAME:=mac80211 
    1212 
    13 PKG_VERSION:=2011-03-11 
     13PKG_VERSION:=2011-03-22 
    1414PKG_RELEASE:=1 
    1515PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources 
    16 PKG_MD5SUM:=123b9220fa2b016979b7b3874f349643 
     16PKG_MD5SUM:=3e7ffb9f243053381f2cdfc5af300f8c 
    1717 
    1818PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2 
  • trunk/package/mac80211/patches/300-ath9k_pending_work.patch

    r26272 r26273  
     1--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
     2+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
     3@@ -362,7 +362,7 @@ struct ath_vif { 
     4  * number of BSSIDs) if a given beacon does not go out even after waiting this 
     5  * number of beacon intervals, the game's up. 
     6  */ 
     7-#define BSTUCK_THRESH                  (9 * ATH_BCBUF) 
     8+#define BSTUCK_THRESH                  9 
     9 #define        ATH_BCBUF                       4 
     10 #define ATH_DEFAULT_BINTVAL            100 /* TU */ 
     11 #define ATH_DEFAULT_BMISS_LIMIT        10 
     12@@ -386,7 +386,7 @@ struct ath_beacon { 
     13        u32 beaconq; 
     14        u32 bmisscnt; 
     15        u32 ast_be_xmit; 
     16-       u64 bc_tstamp; 
     17+       u32 bc_tstamp; 
     18        struct ieee80211_vif *bslot[ATH_BCBUF]; 
     19        int slottime; 
     20        int slotupdate; 
    121--- a/drivers/net/wireless/ath/ath9k/beacon.c 
    222+++ b/drivers/net/wireless/ath/ath9k/beacon.c 
     
    5474                ath_dbg(common, ATH_DBG_BEACON, 
    5575                        "stagger beacons, bslot %d intval %u tsfadjust %llu\n", 
    56 @@ -401,8 +395,9 @@ void ath_beacon_tasklet(unsigned long da 
     76@@ -369,12 +363,13 @@ void ath_beacon_tasklet(unsigned long da 
     77        if (ath9k_hw_numtxpending(ah, sc->beacon.beaconq) != 0) { 
     78                sc->beacon.bmisscnt++; 
     79  
     80-               if (sc->beacon.bmisscnt < BSTUCK_THRESH) { 
     81+               if (sc->beacon.bmisscnt < BSTUCK_THRESH * sc->nbcnvifs) { 
     82                        ath_dbg(common, ATH_DBG_BSTUCK, 
     83                                "missed %u consecutive beacons\n", 
     84                                sc->beacon.bmisscnt); 
     85                        ath9k_hw_stop_dma_queue(ah, sc->beacon.beaconq); 
     86-                       ath9k_hw_bstuck_nfcal(ah); 
     87+                       if (sc->beacon.bmisscnt > 4) 
     88+                               ath9k_hw_bstuck_nfcal(ah); 
     89                } else if (sc->beacon.bmisscnt >= BSTUCK_THRESH) { 
     90                        ath_dbg(common, ATH_DBG_BSTUCK, 
     91                                "beacon is officially stuck\n"); 
     92@@ -385,13 +380,6 @@ void ath_beacon_tasklet(unsigned long da 
     93                return; 
     94        } 
     95  
     96-       if (sc->beacon.bmisscnt != 0) { 
     97-               ath_dbg(common, ATH_DBG_BSTUCK, 
     98-                       "resume beacon xmit after %u misses\n", 
     99-                       sc->beacon.bmisscnt); 
     100-               sc->beacon.bmisscnt = 0; 
     101-       } 
     102- 
     103        /* 
     104         * Generate beacon frames. we are sending frames 
     105         * staggered so calculate the slot for this frame based 
     106@@ -401,8 +389,9 @@ void ath_beacon_tasklet(unsigned long da 
    57107        intval = cur_conf->beacon_interval ? : ATH_DEFAULT_BINTVAL; 
    58108  
     
    66116         * Reverse the slot order to get slot 0 on the TBTT offset that does 
    67117         * not require TSF adjustment and other slots adding 
    68 @@ -415,7 +410,7 @@ void ath_beacon_tasklet(unsigned long da 
     118@@ -415,7 +404,7 @@ void ath_beacon_tasklet(unsigned long da 
    69119  
    70120        ath_dbg(common, ATH_DBG_BEACON, 
     
    75125        bfaddr = 0; 
    76126        if (vif) { 
    77 @@ -463,13 +458,17 @@ static void ath9k_beacon_init(struct ath 
     127@@ -424,6 +413,13 @@ void ath_beacon_tasklet(unsigned long da 
     128                        bfaddr = bf->bf_daddr; 
     129                        bc = 1; 
     130                } 
     131+ 
     132+               if (sc->beacon.bmisscnt != 0) { 
     133+                       ath_dbg(common, ATH_DBG_BSTUCK, 
     134+                               "resume beacon xmit after %u misses\n", 
     135+                               sc->beacon.bmisscnt); 
     136+                       sc->beacon.bmisscnt = 0; 
     137+               } 
     138        } 
     139  
     140        /* 
     141@@ -463,13 +459,17 @@ static void ath9k_beacon_init(struct ath 
    78142                              u32 next_beacon, 
    79143                              u32 beacon_period) 
     
    95159  
    96160 /* 
    97 @@ -484,18 +483,14 @@ static void ath_beacon_config_ap(struct  
     161@@ -484,18 +484,14 @@ static void ath_beacon_config_ap(struct  
    98162        u32 nexttbtt, intval; 
    99163  
     
    115179        ath_beaconq_config(sc); 
    116180  
    117 @@ -505,11 +500,6 @@ static void ath_beacon_config_ap(struct  
     181@@ -505,11 +501,6 @@ static void ath_beacon_config_ap(struct  
    118182        ath9k_beacon_init(sc, nexttbtt, intval); 
    119183        sc->beacon.bmisscnt = 0; 
     
    127191  
    128192 /* 
    129 @@ -643,25 +633,20 @@ static void ath_beacon_config_adhoc(stru 
     193@@ -643,25 +634,20 @@ static void ath_beacon_config_adhoc(stru 
    130194 { 
    131195        struct ath_hw *ah = sc->sc_ah; 
     
    135199- 
    136200-       intval = conf->beacon_interval & ATH9K_BEACON_PERIOD; 
    137 - 
    138201+       u32 tsf, delta, intval, nexttbtt; 
    139202  
    140 -       /* Pull nexttbtt forward to reflect the current TSF */ 
    141203+       tsf = ath9k_hw_gettsf32(ah) + TU_TO_USEC(FUDGE); 
    142204+       intval = TU_TO_USEC(conf->beacon_interval & ATH9K_BEACON_PERIOD); 
    143205  
     206-       /* Pull nexttbtt forward to reflect the current TSF */ 
     207- 
    144208-       nexttbtt = TSF_TO_TU(sc->beacon.bc_tstamp >> 32, sc->beacon.bc_tstamp); 
    145209-       if (nexttbtt == 0) 
     
    165229        ath_dbg(common, ATH_DBG_BEACON, 
    166230                "IBSS nexttbtt %u intval %u (%u)\n", 
    167 @@ -672,7 +657,6 @@ static void ath_beacon_config_adhoc(stru 
     231@@ -672,7 +658,6 @@ static void ath_beacon_config_adhoc(stru 
    168232         * if we need to manually prepare beacon frames.  Otherwise we use a 
    169233         * self-linked tx descriptor and let the hardware deal with things. 
     
    173237  
    174238        ath_beaconq_config(sc); 
     239--- a/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c 
     240+++ b/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c 
     241@@ -155,7 +155,7 @@ static void ath9k_htc_beacon_config_ap(s 
     242        nexttbtt = intval; 
     243  
     244        if (priv->op_flags & OP_TSF_RESET) { 
     245-               intval |= ATH9K_BEACON_RESET_TSF; 
     246+               ath9k_hw_reset_tsf(priv->ah); 
     247                priv->op_flags &= ~OP_TSF_RESET; 
     248        } else { 
     249                /* 
     250@@ -168,8 +168,6 @@ static void ath9k_htc_beacon_config_ap(s 
     251                } while (nexttbtt < tsftu); 
     252        } 
     253  
     254-       intval |= ATH9K_BEACON_ENA; 
     255- 
     256        if (priv->op_flags & OP_ENABLE_BEACON) 
     257                imask |= ATH9K_INT_SWBA; 
     258  
     259@@ -178,7 +176,7 @@ static void ath9k_htc_beacon_config_ap(s 
     260                bss_conf->beacon_interval, nexttbtt, imask); 
     261  
     262        WMI_CMD(WMI_DISABLE_INTR_CMDID); 
     263-       ath9k_hw_beaconinit(priv->ah, nexttbtt, intval); 
     264+       ath9k_hw_beaconinit(priv->ah, TU_TO_USEC(nexttbtt), TU_TO_USEC(intval)); 
     265        priv->bmiss_cnt = 0; 
     266        htc_imask = cpu_to_be32(imask); 
     267        WMI_CMD_BUF(WMI_ENABLE_INTR_CMDID, &htc_imask); 
     268@@ -207,7 +205,6 @@ static void ath9k_htc_beacon_config_adho 
     269                nexttbtt += intval; 
     270        } while (nexttbtt < tsftu); 
     271  
     272-       intval |= ATH9K_BEACON_ENA; 
     273        if (priv->op_flags & OP_ENABLE_BEACON) 
     274                imask |= ATH9K_INT_SWBA; 
     275  
     276@@ -216,7 +213,7 @@ static void ath9k_htc_beacon_config_adho 
     277                bss_conf->beacon_interval, nexttbtt, imask); 
     278  
     279        WMI_CMD(WMI_DISABLE_INTR_CMDID); 
     280-       ath9k_hw_beaconinit(priv->ah, nexttbtt, intval); 
     281+       ath9k_hw_beaconinit(priv->ah, TU_TO_USEC(nexttbtt), TU_TO_USEC(intval)); 
     282        priv->bmiss_cnt = 0; 
     283        htc_imask = cpu_to_be32(imask); 
     284        WMI_CMD_BUF(WMI_ENABLE_INTR_CMDID, &htc_imask); 
    175285--- a/drivers/net/wireless/ath/ath9k/hw.c 
    176286+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    177 @@ -1706,21 +1706,15 @@ void ath9k_hw_beaconinit(struct ath_hw * 
     287@@ -1697,21 +1697,15 @@ void ath9k_hw_beaconinit(struct ath_hw * 
    178288        case NL80211_IFTYPE_MESH_POINT: 
    179289                REG_SET_BIT(ah, AR_TXCFG, 
     
    204314                        AR_TBTT_TIMER_EN | AR_DBA_TIMER_EN | AR_SWBA_TIMER_EN; 
    205315                break; 
    206 @@ -1732,18 +1726,13 @@ void ath9k_hw_beaconinit(struct ath_hw * 
     316@@ -1723,18 +1717,13 @@ void ath9k_hw_beaconinit(struct ath_hw * 
    207317                break; 
    208318        } 
     
    227337 } 
    228338 EXPORT_SYMBOL(ath9k_hw_beaconinit); 
    229 @@ -2404,10 +2393,11 @@ static u32 rightmost_index(struct ath_ge 
     339@@ -2395,10 +2384,11 @@ static u32 rightmost_index(struct ath_ge 
    230340        return timer_table->gen_timer_index[b]; 
    231341 } 
     
    240350 struct ath_gen_timer *ath_gen_timer_alloc(struct ath_hw *ah, 
    241351                                          void (*trigger)(void *), 
    242 --- a/drivers/net/wireless/ath/ath9k/ath9k.h 
    243 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
    244 @@ -392,7 +392,7 @@ struct ath_beacon { 
    245         u32 beaconq; 
    246         u32 bmisscnt; 
    247         u32 ast_be_xmit; 
    248 -       u64 bc_tstamp; 
    249 +       u32 bc_tstamp; 
    250         struct ieee80211_vif *bslot[ATH_BCBUF]; 
    251         int slottime; 
    252         int slotupdate; 
    253352--- a/drivers/net/wireless/ath/ath9k/hw.h 
    254353+++ b/drivers/net/wireless/ath/ath9k/hw.h 
    255 @@ -412,8 +412,6 @@ struct ath9k_beacon_state { 
     354@@ -416,8 +416,6 @@ struct ath9k_beacon_state { 
    256355        u32 bs_nextdtim; 
    257356        u32 bs_intval; 
     
    262361        u32 bs_dtimperiod; 
    263362        u16 bs_cfpperiod; 
    264 @@ -927,6 +925,7 @@ void ath9k_hw_setopmode(struct ath_hw *a 
     363@@ -930,6 +928,7 @@ void ath9k_hw_setopmode(struct ath_hw *a 
    265364 void ath9k_hw_setmcastfilter(struct ath_hw *ah, u32 filter0, u32 filter1); 
    266365 void ath9k_hw_setbssidmask(struct ath_hw *ah); 
     
    270369 void ath9k_hw_settsf64(struct ath_hw *ah, u64 tsf64); 
    271370 void ath9k_hw_reset_tsf(struct ath_hw *ah); 
    272 --- a/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c 
    273 +++ b/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c 
    274 @@ -155,7 +155,7 @@ static void ath9k_htc_beacon_config_ap(s 
    275         nexttbtt = intval; 
    276   
    277         if (priv->op_flags & OP_TSF_RESET) { 
    278 -               intval |= ATH9K_BEACON_RESET_TSF; 
    279 +               ath9k_hw_reset_tsf(priv->ah); 
    280                 priv->op_flags &= ~OP_TSF_RESET; 
    281         } else { 
    282                 /* 
    283 @@ -168,8 +168,6 @@ static void ath9k_htc_beacon_config_ap(s 
    284                 } while (nexttbtt < tsftu); 
    285         } 
    286   
    287 -       intval |= ATH9K_BEACON_ENA; 
    288 - 
    289         if (priv->op_flags & OP_ENABLE_BEACON) 
    290                 imask |= ATH9K_INT_SWBA; 
    291   
    292 @@ -178,7 +176,7 @@ static void ath9k_htc_beacon_config_ap(s 
    293                 bss_conf->beacon_interval, nexttbtt, imask); 
    294   
    295         WMI_CMD(WMI_DISABLE_INTR_CMDID); 
    296 -       ath9k_hw_beaconinit(priv->ah, nexttbtt, intval); 
    297 +       ath9k_hw_beaconinit(priv->ah, TU_TO_USEC(nexttbtt), TU_TO_USEC(intval)); 
    298         priv->bmiss_cnt = 0; 
    299         htc_imask = cpu_to_be32(imask); 
    300         WMI_CMD_BUF(WMI_ENABLE_INTR_CMDID, &htc_imask); 
    301 @@ -207,7 +205,6 @@ static void ath9k_htc_beacon_config_adho 
    302                 nexttbtt += intval; 
    303         } while (nexttbtt < tsftu); 
    304   
    305 -       intval |= ATH9K_BEACON_ENA; 
    306         if (priv->op_flags & OP_ENABLE_BEACON) 
    307                 imask |= ATH9K_INT_SWBA; 
    308   
    309 @@ -216,7 +213,7 @@ static void ath9k_htc_beacon_config_adho 
    310                 bss_conf->beacon_interval, nexttbtt, imask); 
    311   
    312         WMI_CMD(WMI_DISABLE_INTR_CMDID); 
    313 -       ath9k_hw_beaconinit(priv->ah, nexttbtt, intval); 
    314 +       ath9k_hw_beaconinit(priv->ah, TU_TO_USEC(nexttbtt), TU_TO_USEC(intval)); 
    315         priv->bmiss_cnt = 0; 
    316         htc_imask = cpu_to_be32(imask); 
    317         WMI_CMD_BUF(WMI_ENABLE_INTR_CMDID, &htc_imask); 
  • trunk/package/mac80211/patches/401-ath9k-dont-register-leds-on-ar9100.patch

    r26128 r26273  
    88+               return; 
    99+ 
    10         if (AR_SREV_9287(sc->sc_ah)) 
    11                 sc->sc_ah->led_pin = ATH_LED_PIN_9287; 
    12         else if (AR_SREV_9485(sc->sc_ah)) 
     10        if (sc->sc_ah->led_pin < 0) { 
     11                if (AR_SREV_9287(sc->sc_ah)) 
     12                        sc->sc_ah->led_pin = ATH_LED_PIN_9287; 
  • trunk/package/mac80211/patches/402-ath9k_blink_default.patch

    r24948 r26273  
    11--- a/drivers/net/wireless/ath/ath9k/init.c 
    22+++ b/drivers/net/wireless/ath/ath9k/init.c 
    3 @@ -33,7 +33,7 @@ int ath9k_modparam_nohwcrypt; 
     3@@ -34,7 +34,7 @@ int ath9k_modparam_nohwcrypt; 
    44 module_param_named(nohwcrypt, ath9k_modparam_nohwcrypt, int, 0444); 
    55 MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption"); 
  • trunk/package/mac80211/patches/403-ath9k-fix-invalid-mac-address-handling.patch

    r25056 r26273  
    99  
    1010 #include "hw.h" 
    11 @@ -431,8 +432,16 @@ static int ath9k_hw_init_macaddr(struct  
     11@@ -433,8 +434,16 @@ static int ath9k_hw_init_macaddr(struct  
    1212                common->macaddr[2 * i] = eeval >> 8; 
    1313                common->macaddr[2 * i + 1] = eeval & 0xff; 
  • trunk/package/mac80211/patches/500-ath9k_eeprom_debugfs.patch

    r26247 r26273  
    5555 { 
    5656        struct ath_common *common = ath9k_hw_common(ah); 
    57 @@ -1151,6 +1198,9 @@ int ath9k_init_debug(struct ath_hw *ah) 
     57@@ -1125,6 +1172,9 @@ int ath9k_init_debug(struct ath_hw *ah) 
    5858        debugfs_create_u32("gpio_val", S_IRUSR | S_IWUSR, 
    5959                           sc->debug.debugfs_phy, &sc->sc_ah->gpio_val); 
     
    6464        sc->debug.regidx = 0; 
    6565        return 0; 
    66  err: 
     66 } 
  • trunk/package/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch

    r26128 r26273  
    11--- a/drivers/net/wireless/ath/ath9k/hw.c 
    22+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    3 @@ -1466,8 +1466,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
     3@@ -1468,8 +1468,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
    44        REG_WRITE(ah, AR_OBS, 8); 
    55  
  • trunk/package/mac80211/patches/520-mac80211_drv_tim_override.patch

    r26128 r26273  
    2222--- a/net/mac80211/sta_info.c 
    2323+++ b/net/mac80211/sta_info.c 
    24 @@ -608,7 +608,8 @@ static bool sta_info_cleanup_expire_buff 
     24@@ -609,7 +609,8 @@ static bool sta_info_cleanup_expire_buff 
    2525 #endif 
    2626                dev_kfree_skb(skb); 
     
    3232        } 
    3333  
    34 @@ -899,6 +900,7 @@ void ieee80211_sta_ps_deliver_wakeup(str 
     34@@ -900,6 +901,7 @@ void ieee80211_sta_ps_deliver_wakeup(str 
    3535        struct ieee80211_local *local = sdata->local; 
    3636        int sent, buffered; 
     
    4040                drv_sta_notify(local, sdata, STA_NOTIFY_AWAKE, &sta->sta); 
    4141  
    42 @@ -991,3 +993,12 @@ void ieee80211_sta_block_awake(struct ie 
     42@@ -992,3 +994,12 @@ void ieee80211_sta_block_awake(struct ie 
    4343                ieee80211_queue_work(hw, &sta->drv_unblock_wk); 
    4444 } 
  • trunk/package/mac80211/patches/521-ath9k_fix_ap_ps_buffering.patch

    r26128 r26273  
    224224--- a/drivers/net/wireless/ath/ath9k/hw.h 
    225225+++ b/drivers/net/wireless/ath/ath9k/hw.h 
    226 @@ -642,6 +642,7 @@ struct ath_hw_ops { 
     226@@ -646,6 +646,7 @@ struct ath_hw_ops { 
    227227                                     u32 burstDuration); 
    228228        void (*set11n_virtualmorefrag)(struct ath_hw *ah, void *ds, 
  • trunk/package/mac80211/patches/530-mac80211_redirect_vlan_eap_frames.patch

    r26128 r26273  
    11--- a/net/mac80211/rx.c 
    22+++ b/net/mac80211/rx.c 
    3 @@ -1582,7 +1582,7 @@ ieee80211_drop_unencrypted_mgmt(struct i 
     3@@ -1584,7 +1584,7 @@ ieee80211_drop_unencrypted_mgmt(struct i 
    44 } 
    55  
     
    1010        struct ieee80211_sub_if_data *sdata = rx->sdata; 
    1111        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; 
    12 @@ -1590,6 +1590,7 @@ __ieee80211_data_to_8023(struct ieee8021 
     12@@ -1592,6 +1592,7 @@ __ieee80211_data_to_8023(struct ieee8021 
    1313        struct ethhdr *ehdr; 
    1414        int ret; 
     
    1818            sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta) 
    1919                return -1; 
    20 @@ -1608,11 +1609,14 @@ __ieee80211_data_to_8023(struct ieee8021 
     20@@ -1610,11 +1611,14 @@ __ieee80211_data_to_8023(struct ieee8021 
    2121                return -1; 
    2222  
     
    3535  
    3636        return 0; 
    37 @@ -1913,6 +1917,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
     37@@ -1915,6 +1919,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
    3838        struct net_device *dev = sdata->dev; 
    3939        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; 
     
    4343  
    4444        if (unlikely(!ieee80211_is_data(hdr->frame_control))) 
    45 @@ -1929,13 +1934,21 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
     45@@ -1931,13 +1936,21 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
    4646            sdata->vif.type == NL80211_IFTYPE_AP) 
    4747                return RX_DROP_MONITOR; 
  • trunk/package/mac80211/patches/550-ath9k_increase_bcbuf.patch

    r26272 r26273  
    44  * number of beacon intervals, the game's up. 
    55  */ 
    6  #define BSTUCK_THRESH                  (9 * ATH_BCBUF) 
     6 #define BSTUCK_THRESH                  9 
    77-#define        ATH_BCBUF                       4 
    88+#define        ATH_BCBUF                       8 
  • trunk/package/mac80211/patches/700-mwl8k-missing-pci-id-for-WNR854T.patch

    r26128 r26273  
    11--- a/drivers/net/wireless/mwl8k.c 
    22+++ b/drivers/net/wireless/mwl8k.c 
    3 @@ -4500,6 +4500,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw") 
     3@@ -5111,6 +5111,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw") 
    44 MODULE_FIRMWARE(MWL8K_8366_AP_FW(MWL8K_8366_AP_FW_API)); 
    55  
Note: See TracChangeset for help on using the changeset viewer.