Changeset 44655


Ignore:
Timestamp:
2015-03-11T16:02:47+01:00 (3 years ago)
Author:
nbd
Message:

mac80211: update to wireless-testing 2015-03-09

Based on patch by Bryan Forbes <bryan@…>

Also update mt76 to update for API changes

Signed-off-by: Felix Fietkau <nbd@…>

Location:
trunk/package/kernel
Files:
6 added
32 deleted
72 edited
3 moved

Legend:

Unmodified
Added
Removed
  • trunk/package/kernel/mac80211/Makefile

    r44466 r44655  
    1111PKG_NAME:=mac80211 
    1212 
    13 PKG_VERSION:=2014-11-04 
     13PKG_VERSION:=2015-03-09 
    1414PKG_RELEASE:=1 
    1515PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources 
    1616PKG_BACKPORT_VERSION:= 
    17 PKG_MD5SUM:=d0b64853fb78cfd1d6cb639327811e2a 
     17PKG_MD5SUM:=6d4b04e4ce8a1f54dabfb04f4709453c 
    1818 
    1919PKG_SOURCE:=compat-wireless-$(PKG_VERSION)$(PKG_BACKPORT_VERSION).tar.bz2 
  • trunk/package/kernel/mac80211/patches/000-fix_kconfig.patch

    r42683 r44655  
    11--- a/kconf/Makefile 
    22+++ b/kconf/Makefile 
    3 @@ -1,10 +1,10 @@ 
     3@@ -1,9 +1,9 @@ 
    44-CFLAGS=-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer 
    55+CFLAGS=-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DKBUILD_NO_NLS 
     
    88  
    99 conf: conf.o zconf.tab.o 
    10 -mconf: LDFLAGS = -Wl,--add-needed $(shell ./lxdialog/check-lxdialog.sh -ldflags $(CC)) 
    11 -mconf: CFLAGS += -DCURSES_LOC="<ncurses.h>" -DLOCALE 
    12 +mconf: LDFLAGS = $(shell ./lxdialog/check-lxdialog.sh -ldflags $(CC)) 
    13 +mconf: CFLAGS += -DCURSES_LOC="<ncurses.h>" 
    14  mconf: mconf.o zconf.tab.o $(LXDIALOG) 
     10-mconf_CFLAGS := $(shell ./lxdialog/check-lxdialog.sh -ccflags) -DLOCALE 
     11+mconf_CFLAGS := $(shell ./lxdialog/check-lxdialog.sh -ccflags) 
     12 mconf_LDFLAGS := $(shell ./lxdialog/check-lxdialog.sh -ldflags $(CC)) 
     13 mconf: CFLAGS += $(mconf_CFLAGS) 
    1514  
    16  .PHONY: clean 
  • trunk/package/kernel/mac80211/patches/001-fix_build.patch

    r44283 r44655  
    77-SHELL := /bin/bash 
    88+SHELL := /usr/bin/env bash 
    9  BACKPORT_PWD := $(shell pwd) 
     9 BACKPORT_DIR := $(shell pwd) 
    1010  
    1111 KMODDIR ?= updates 
     
    1616+STAMP_KERNEL_CONFIG := .kernel_config_md5_$(CONFIG_MD5) 
    1717  
    18  export KLIB KLIB_BUILD BACKPORT_PWD KMODDIR KMODPATH_ARG 
     18 export KLIB KLIB_BUILD BACKPORT_DIR KMODDIR KMODPATH_ARG 
    1919  
    2020@@ -36,7 +37,8 @@ mrproper: 
     
    6565-               for v in $$kvers ; do                                                   \ 
    6666-                       if [ "$$print" = "1" ] ; then                                   \ 
    67 -                               echo config BACKPORT_KERNEL_$$(echo $$v | tr . _)       ;\ 
     67-                               echo config KERNEL_$$(echo $$v | tr . _)        ;\ 
    6868-                               echo "    def_bool y"                                   ;\ 
    6969-                       fi                                                              ;\ 
     
    120120+       for v in $$kvers ; do                                                   \ 
    121121+               if [ "$$print" = "1" ] ; then                                   \ 
    122 +                       echo config BACKPORT_KERNEL_$$(echo $$v | tr . _)       ;\ 
     122+                       echo config KERNEL_$$(echo $$v | tr . _)        ;\ 
    123123+                       echo "    def_bool y"                                   ;\ 
    124124+               fi                                                              ;\ 
  • trunk/package/kernel/mac80211/patches/003-remove_bogus_modparams.patch

    r40800 r44655  
    22+++ b/compat/main.c 
    33@@ -20,31 +20,6 @@ MODULE_LICENSE("GPL"); 
    4  #error "You need a BACKPORTS_VERSION" 
     4 #error "You need a CPTCFG_VERSION" 
    55 #endif 
    66  
    7 -static char *backported_kernel_name = BACKPORTED_KERNEL_NAME; 
     7-static char *backported_kernel_name = CPTCFG_KERNEL_NAME; 
    88- 
    99-module_param(backported_kernel_name, charp, 0400); 
    1010-MODULE_PARM_DESC(backported_kernel_name, 
    11 -                "The kernel tree name that was used for this backport (" BACKPORTED_KERNEL_NAME ")"); 
     11-                "The kernel tree name that was used for this backport (" CPTCFG_KERNEL_NAME ")"); 
    1212- 
    13 -#ifdef BACKPORTS_GIT_TRACKED  
     13-#ifdef BACKPORTS_GIT_TRACKED 
    1414-static char *backports_tracker_id = BACKPORTS_GIT_TRACKED; 
    1515-module_param(backports_tracker_id, charp, 0400); 
     
    1717-                "The version of the tree containing this backport (" BACKPORTS_GIT_TRACKED ")"); 
    1818-#else 
    19 -static char *backported_kernel_version = BACKPORTED_KERNEL_VERSION; 
    20 -static char *backports_version = BACKPORTS_VERSION; 
     19-static char *backported_kernel_version = CPTCFG_KERNEL_VERSION; 
     20-static char *backports_version = CPTCFG_VERSION; 
    2121- 
    2222-module_param(backported_kernel_version, charp, 0400); 
    2323-MODULE_PARM_DESC(backported_kernel_version, 
    24 -                "The kernel version that was used for this backport (" BACKPORTED_KERNEL_VERSION ")"); 
     24-                "The kernel version that was used for this backport (" CPTCFG_KERNEL_VERSION ")"); 
    2525- 
    2626-module_param(backports_version, charp, 0400); 
    2727-MODULE_PARM_DESC(backports_version, 
    28 -                "The git version of the backports tree used to generate this backport (" BACKPORTS_VERSION ")"); 
     28-                "The git version of the backports tree used to generate this backport (" CPTCFG_VERSION ")"); 
    2929- 
    3030-#endif 
  • trunk/package/kernel/mac80211/patches/008-fix_netdev_unregister.patch

    r43224 r44655  
    11--- a/net/mac80211/iface.c 
    22+++ b/net/mac80211/iface.c 
    3 @@ -1859,6 +1859,13 @@ void ieee80211_remove_interfaces(struct  
     3@@ -1858,6 +1858,13 @@ void ieee80211_remove_interfaces(struct 
    44        } 
    55        mutex_unlock(&local->iflist_mtx); 
  • trunk/package/kernel/mac80211/patches/030-rt2x00_options.patch

    r38783 r44655  
    4444+       tristate "RT2x00 support" 
    4545        depends on m 
    46         select BACKPORT_AVERAGE 
     46        select BPAUTO_AVERAGE 
    4747  
  • trunk/package/kernel/mac80211/patches/050-lib80211_option.patch

    r42683 r44655  
    11--- a/net/wireless/Kconfig 
    22+++ b/net/wireless/Kconfig 
    3 @@ -166,7 +166,7 @@ config CFG80211_WEXT 
    4           extensions with cfg80211-based drivers. 
     3@@ -174,7 +174,7 @@ config CFG80211_WEXT_EXPORT 
     4          wext compatibility symbols to be exported. 
    55  
    66 config LIB80211 
     
    1010        default n 
    1111        help 
    12 @@ -176,15 +176,15 @@ config LIB80211 
     12@@ -184,15 +184,15 @@ config LIB80211 
    1313          Drivers should select this themselves if needed. 
    1414  
  • trunk/package/kernel/mac80211/patches/060-no_local_ssb_bcma.patch

    r43210 r44655  
    11--- a/.local-symbols 
    22+++ b/.local-symbols 
    3 @@ -423,42 +423,6 @@ USB_CDC_PHONET= 
     3@@ -344,40 +344,3 @@ USB_CDC_PHONET= 
    44 USB_IPHETH= 
    55 USB_SIERRA_NET= 
     
    3535-BCMA_DRIVER_PCI_HOSTMODE= 
    3636-BCMA_HOST_SOC= 
     37-BCMA_DRIVER_PCI= 
    3738-BCMA_DRIVER_MIPS= 
    3839-BCMA_SFLASH= 
     
    4142-BCMA_DRIVER_GPIO= 
    4243-BCMA_DEBUG= 
    43  NFC= 
    44  NFC_DIGITAL= 
    45  NFC_NCI= 
    46 --- a/Kconfig 
    47 +++ b/Kconfig 
    48 @@ -33,9 +33,6 @@ source drivers/net/wireless/Kconfig 
    49  source drivers/net/ethernet/Kconfig 
    50  source drivers/net/usb/Kconfig 
    51   
    52 -source drivers/ssb/Kconfig 
    53 -source drivers/bcma/Kconfig 
    54 - 
    55  source net/nfc/Kconfig 
    56   
    57  source drivers/media/Kconfig 
    5844--- a/Makefile.kernel 
    5945+++ b/Makefile.kernel 
    60 @@ -25,8 +25,6 @@ obj-$(CPTCFG_MAC80211) += net/mac80211/ 
     46@@ -38,8 +38,6 @@ obj-$(CPTCFG_MAC80211) += net/mac80211/ 
    6147 obj-$(CPTCFG_WLAN) += drivers/net/wireless/ 
    62  obj-$(CPTCFG_BT) += net/bluetooth/ 
    63  obj-$(CPTCFG_BT) += drivers/bluetooth/ 
     48 #obj-$(CPTCFG_BT) += net/bluetooth/ 
     49 #obj-$(CPTCFG_BT) += drivers/bluetooth/ 
    6450-obj-$(CPTCFG_SSB) += drivers/ssb/ 
    6551-obj-$(CPTCFG_BCMA) += drivers/bcma/ 
    66  obj-$(CPTCFG_ETHERNET) += drivers/net/ethernet/ 
     52 #obj-$(CPTCFG_ETHERNET) += drivers/net/ethernet/ 
    6753 obj-$(CPTCFG_USB_NET_RNDIS_WLAN) += drivers/net/usb/ 
    68  obj-$(CPTCFG_NFC) += net/nfc/ 
     54 #obj-$(CPTCFG_NFC) += net/nfc/ 
    6955--- a/drivers/net/wireless/b43/main.c 
    7056+++ b/drivers/net/wireless/b43/main.c 
    71 @@ -2828,7 +2828,7 @@ static struct ssb_device *b43_ssb_gpio_d 
     57@@ -2866,7 +2866,7 @@ static struct ssb_device *b43_ssb_gpio_d 
    7258 { 
    7359        struct ssb_bus *bus = dev->dev->sdev->bus; 
     
    7864 #else 
    7965        return bus->chipco.dev; 
    80 @@ -4858,7 +4858,7 @@ static int b43_wireless_core_init(struct 
     66@@ -4907,7 +4907,7 @@ static int b43_wireless_core_init(struct 
    8167        } 
    8268        if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW) 
     
    128114 int brcms_led_register(struct brcms_info *wl); 
    129115 #else 
     116--- a/Kconfig.sources 
     117+++ b/Kconfig.sources 
     118@@ -9,9 +9,6 @@ source "$BACKPORT_DIR/drivers/net/wirele 
     119 #source "$BACKPORT_DIR/drivers/net/ethernet/Kconfig" 
     120 source "$BACKPORT_DIR/drivers/net/usb/Kconfig" 
     121  
     122-source "$BACKPORT_DIR/drivers/ssb/Kconfig" 
     123-source "$BACKPORT_DIR/drivers/bcma/Kconfig" 
     124- 
     125 #source "$BACKPORT_DIR/net/nfc/Kconfig" 
     126  
     127 #source "$BACKPORT_DIR/drivers/media/Kconfig" 
  • trunk/package/kernel/mac80211/patches/081-backport-devm_kmemdup.patch

    r43277 r44655  
    11--- a/backport-include/linux/device.h 
    22+++ b/backport-include/linux/device.h 
    3 @@ -177,4 +177,20 @@ static inline void *devm_kmalloc_array(s 
    4  } 
     3@@ -200,4 +200,20 @@ static inline void *devm_kmemdup(struct 
    54 #endif 
     5  
    66  
    77+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0) 
  • trunk/package/kernel/mac80211/patches/082-backport-list_last_entry.patch

    r43278 r44655  
    11--- a/backport-include/linux/list.h 
    22+++ b/backport-include/linux/list.h 
    3 @@ -73,4 +73,17 @@ 
    4         list_entry((pos)->member.next, typeof(*(pos)), member) 
    5  #endif /* list_next_entry */ 
     3@@ -88,4 +88,17 @@ 
     4        list_entry((ptr)->prev, type, member) 
     5 #endif 
    66  
    77+#ifndef list_last_entry 
  • trunk/package/kernel/mac80211/patches/110-mac80211_keep_keys_on_stop_ap.patch

    r43210 r44655  
    33--- a/net/mac80211/cfg.c 
    44+++ b/net/mac80211/cfg.c 
    5 @@ -848,7 +848,6 @@ static int ieee80211_stop_ap(struct wiph 
     5@@ -856,7 +856,6 @@ static int ieee80211_stop_ap(struct wiph 
    66        sdata->u.ap.driver_smps_mode = IEEE80211_SMPS_OFF; 
    77  
  • trunk/package/kernel/mac80211/patches/150-disable_addr_notifier.patch

    r43210 r44655  
    1010                                 unsigned long data, void *arg) 
    1111 { 
    12 @@ -346,7 +346,7 @@ static int ieee80211_ifa_changed(struct  
     12@@ -346,7 +346,7 @@ static int ieee80211_ifa_changed(struct 
    1313 } 
    1414 #endif 
     
    1919                                  unsigned long data, void *arg) 
    2020 { 
    21 @@ -1044,14 +1044,14 @@ int ieee80211_register_hw(struct ieee802 
     21@@ -1057,14 +1057,14 @@ int ieee80211_register_hw(struct ieee802 
     22        if (result) 
    2223                goto fail_pm_qos; 
    23         } 
    2424  
    2525-#ifdef CONFIG_INET 
     
    3636        result = register_inet6addr_notifier(&local->ifa6_notifier); 
    3737        if (result) 
    38 @@ -1060,13 +1060,13 @@ int ieee80211_register_hw(struct ieee802 
     38@@ -1073,13 +1073,13 @@ int ieee80211_register_hw(struct ieee802 
    3939  
    4040        return 0; 
     
    5353        pm_qos_remove_notifier(PM_QOS_NETWORK_LATENCY, 
    5454                               &local->network_latency_notifier); 
    55 @@ -1111,10 +1111,10 @@ void ieee80211_unregister_hw(struct ieee 
     55@@ -1124,10 +1124,10 @@ void ieee80211_unregister_hw(struct ieee 
    5656  
    5757        pm_qos_remove_notifier(PM_QOS_NETWORK_LATENCY, 
  • trunk/package/kernel/mac80211/patches/210-ap_scan.patch

    r43210 r44655  
    11--- a/net/mac80211/cfg.c 
    22+++ b/net/mac80211/cfg.c 
    3 @@ -1947,7 +1947,7 @@ static int ieee80211_scan(struct wiphy * 
     3@@ -1963,7 +1963,7 @@ static int ieee80211_scan(struct wiphy * 
    44                 * the  frames sent while scanning on other channel will be 
    55                 * lost) 
  • trunk/package/kernel/mac80211/patches/300-mac80211-add-an-intermediate-software-queue-implemen.patch

    r44654 r44655  
    2020--- a/include/net/mac80211.h 
    2121+++ b/include/net/mac80211.h 
    22 @@ -1192,6 +1192,8 @@ struct ieee80211_vif { 
     22@@ -1257,6 +1257,8 @@ struct ieee80211_vif { 
    2323        u8 cab_queue; 
    2424        u8 hw_queue[IEEE80211_NUM_ACS]; 
     
    2929  
    3030        u32 driver_flags; 
    31 @@ -1448,6 +1450,8 @@ struct ieee80211_sta { 
    32         bool tdls; 
     31@@ -1519,6 +1521,8 @@ struct ieee80211_sta { 
    3332        bool tdls_initiator; 
     33        bool mfp; 
    3434  
    3535+       struct ieee80211_txq *txq[IEEE80211_NUM_TIDS]; 
     
    3838        u8 drv_priv[0] __aligned(sizeof(void *)); 
    3939 }; 
    40 @@ -1476,6 +1480,27 @@ struct ieee80211_tx_control { 
     40@@ -1547,6 +1551,27 @@ struct ieee80211_tx_control { 
    4141 }; 
    4242  
     
    6666  * 
    6767  * These flags are used to indicate hardware capabilities to 
    68 @@ -1698,6 +1723,8 @@ enum ieee80211_hw_flags { 
     68@@ -1770,6 +1795,8 @@ enum ieee80211_hw_flags { 
    6969  *     within &struct ieee80211_sta. 
    7070  * @chanctx_data_size: size (in bytes) of the drv_priv data area 
     
    7575  * @max_rates: maximum number of alternate rate retry stages the hw 
    7676  *     can handle. 
    77 @@ -1746,6 +1773,9 @@ enum ieee80211_hw_flags { 
     77@@ -1818,6 +1845,9 @@ enum ieee80211_hw_flags { 
    7878  * @n_cipher_schemes: a size of an array of cipher schemes definitions. 
    7979  * @cipher_schemes: a pointer to an array of cipher scheme definitions 
     
    8585 struct ieee80211_hw { 
    8686        struct ieee80211_conf conf; 
    87 @@ -1758,6 +1788,7 @@ struct ieee80211_hw { 
     87@@ -1830,6 +1860,7 @@ struct ieee80211_hw { 
    8888        int vif_data_size; 
    8989        int sta_data_size; 
     
    9393        u16 max_listen_interval; 
    9494        s8 max_signal; 
    95 @@ -1774,6 +1805,7 @@ struct ieee80211_hw { 
     95@@ -1846,6 +1877,7 @@ struct ieee80211_hw { 
    9696        u8 uapsd_max_sp_len; 
    9797        u8 n_cipher_schemes; 
     
    101101  
    102102 /** 
    103 @@ -2881,6 +2913,8 @@ enum ieee80211_reconfig_type { 
    104   * 
    105   * @get_txpower: get current maximum tx power (in dBm) based on configuration 
    106   *     and hardware limits. 
     103@@ -3007,6 +3039,8 @@ enum ieee80211_reconfig_type { 
     104  *     response template is provided, together with the location of the 
     105  *     switch-timing IE within the template. The skb can only be used within 
     106  *     the function call. 
    107107+ * 
    108108+ * @wake_tx_queue: Called when new packets have been added to the queue. 
     
    110110 struct ieee80211_ops { 
    111111        void (*tx)(struct ieee80211_hw *hw, 
    112 @@ -3095,6 +3129,9 @@ struct ieee80211_ops { 
    113         u32 (*get_expected_throughput)(struct ieee80211_sta *sta); 
    114         int (*get_txpower)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 
    115                            int *dbm); 
     112@@ -3238,6 +3272,9 @@ struct ieee80211_ops { 
     113        void (*tdls_recv_channel_switch)(struct ieee80211_hw *hw, 
     114                                        struct ieee80211_vif *vif, 
     115                                         struct ieee80211_tdls_ch_sw_params *params); 
    116116+ 
    117117+       void (*wake_tx_queue)(struct ieee80211_hw *hw, 
     
    120120  
    121121 /** 
    122 @@ -5038,4 +5075,17 @@ void ieee80211_tdls_oper_request(struct  
     122@@ -5249,4 +5286,17 @@ void ieee80211_unreserve_tid(struct ieee 
    123123  */ 
    124124 size_t ieee80211_ie_split(const u8 *ies, size_t ielen, 
     
    131131+ * @txq: pointer obtained from .add_tx_queue() call 
    132132+ * 
    133 + * Returns 0 if successful, -EAGAIN if no frame was available. 
     133+ * Returns the sjb if successful, ERR_PTR(-EAGAIN) if no frame was available. 
    134134+ */ 
    135 +int ieee80211_tx_dequeue(struct ieee80211_hw *hw, struct ieee80211_txq *txq, 
    136 +                        struct sk_buff **skb); 
     135+struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw, 
     136+                                    struct ieee80211_txq *txq); 
    137137+ 
    138138+ 
     
    140140--- a/net/mac80211/driver-ops.h 
    141141+++ b/net/mac80211/driver-ops.h 
    142 @@ -1311,4 +1311,21 @@ static inline int drv_get_txpower(struct 
    143         return ret; 
     142@@ -1367,4 +1367,21 @@ drv_tdls_recv_channel_switch(struct ieee 
     143        trace_drv_return_void(local); 
    144144 } 
    145145  
     
    164164--- a/net/mac80211/ieee80211_i.h 
    165165+++ b/net/mac80211/ieee80211_i.h 
    166 @@ -793,6 +793,13 @@ struct mac80211_qos_map { 
     166@@ -809,6 +809,13 @@ struct mac80211_qos_map { 
    167167        struct rcu_head rcu_head; 
    168168 }; 
     
    178178        struct list_head list; 
    179179  
    180 @@ -837,6 +844,8 @@ struct ieee80211_sub_if_data { 
     180@@ -853,6 +860,7 @@ struct ieee80211_sub_if_data { 
    181181        bool control_port_no_encrypt; 
    182182        int encrypt_headroom; 
    183183  
    184 +       struct txq_info *txq; 
    185 +       atomic_t txq_len[IEEE80211_NUM_ACS]; 
     184+       atomic_t txqs_len[IEEE80211_NUM_ACS]; 
    186185        struct ieee80211_tx_queue_params tx_conf[IEEE80211_NUM_ACS]; 
    187186        struct mac80211_qos_map __rcu *qos_map; 
    188187  
    189 @@ -1868,6 +1877,11 @@ void ieee80211_add_pending_skbs(struct i 
    190                                 struct sk_buff_head *skbs); 
    191  void ieee80211_flush_queues(struct ieee80211_local *local, 
    192                             struct ieee80211_sub_if_data *sdata); 
     188@@ -1905,6 +1913,12 @@ static inline bool ieee80211_can_run_wor 
     189        return true; 
     190 } 
     191  
    193192+void ieee80211_init_tx_queue(struct ieee80211_sub_if_data *sdata, 
    194193+                            struct sta_info *sta, 
     
    196195+void ieee80211_flush_tx_queue(struct ieee80211_local *local, 
    197196+                             struct ieee80211_txq *txq); 
    198   
     197+ 
    199198 void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata, 
    200199                         u16 transaction, u16 auth_alg, u16 status, 
     200                         const u8 *extra, size_t extra_len, const u8 *bssid, 
    201201--- a/net/mac80211/iface.c 
    202202+++ b/net/mac80211/iface.c 
    203 @@ -967,6 +967,9 @@ static void ieee80211_do_stop(struct iee 
     203@@ -969,6 +969,9 @@ static void ieee80211_do_stop(struct iee 
    204204        } 
    205205        spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); 
     
    211211                ieee80211_clear_tx_pending(local); 
    212212  
    213 @@ -1773,6 +1776,13 @@ int ieee80211_if_add(struct ieee80211_lo 
    214         /* setup type-dependent data */ 
     213@@ -1773,6 +1776,15 @@ int ieee80211_if_add(struct ieee80211_lo 
    215214        ieee80211_setup_sdata(sdata, type); 
    216215  
    217 +       if (local->ops->wake_tx_queue) { 
    218 +               sdata->txq = kzalloc(sizeof(*sdata->txq) + 
    219 +                                    local->hw.txq_data_size, GFP_KERNEL); 
    220 +               if (sdata->txq) 
    221 +                       ieee80211_init_tx_queue(sdata, NULL, sdata->txq, 0); 
    222 +       } 
    223 + 
    224216        if (ndev) { 
     217+               struct txq_info *txqi = NULL; 
     218+ 
     219+               if (local->ops->wake_tx_queue) { 
     220+                       txqi = kzalloc(sizeof(*txqi) + 
     221+                                     local->hw.txq_data_size, GFP_KERNEL); 
     222+                       if (txqi) 
     223+                               ieee80211_init_tx_queue(sdata, NULL, txqi, 0); 
     224+               } 
     225+ 
    225226                if (params) { 
    226227                        ndev->ieee80211_ptr->use_4addr = params->use_4addr; 
     228                        if (type == NL80211_IFTYPE_STATION) 
     229@@ -1785,6 +1797,7 @@ int ieee80211_if_add(struct ieee80211_lo 
     230  
     231                ret = register_netdevice(ndev); 
     232                if (ret) { 
     233+                       kfree(txqi); 
     234                        free_netdev(ndev); 
     235                        return ret; 
     236                } 
     237@@ -1802,6 +1815,7 @@ int ieee80211_if_add(struct ieee80211_lo 
     238  
     239 void ieee80211_if_remove(struct ieee80211_sub_if_data *sdata) 
     240 { 
     241+       struct txq_info *txqi; 
     242        ASSERT_RTNL(); 
     243  
     244        mutex_lock(&sdata->local->iflist_mtx); 
     245@@ -1810,6 +1824,11 @@ void ieee80211_if_remove(struct ieee8021 
     246  
     247        synchronize_rcu(); 
     248  
     249+       if (sdata->vif.txq) { 
     250+               txqi = container_of(sdata->vif.txq, struct txq_info, txq); 
     251+               kfree(txqi); 
     252+       } 
     253+ 
     254        if (sdata->dev) { 
     255                unregister_netdevice(sdata->dev); 
     256        } else { 
     257@@ -1833,6 +1852,7 @@ void ieee80211_sdata_stop(struct ieee802 
     258 void ieee80211_remove_interfaces(struct ieee80211_local *local) 
     259 { 
     260        struct ieee80211_sub_if_data *sdata, *tmp; 
     261+       struct txq_info *txqi; 
     262        LIST_HEAD(unreg_list); 
     263        LIST_HEAD(wdev_list); 
     264  
     265@@ -1851,6 +1871,12 @@ void ieee80211_remove_interfaces(struct  
     266        list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) { 
     267                list_del(&sdata->list); 
     268  
     269+               if (sdata->vif.txq) { 
     270+                       txqi = container_of(sdata->vif.txq, struct txq_info, 
     271+                                          txq); 
     272+                       kfree(txqi); 
     273+               } 
     274+ 
     275                if (sdata->dev) 
     276                        unregister_netdevice_queue(sdata->dev, &unreg_list); 
     277                else 
    227278--- a/net/mac80211/main.c 
    228279+++ b/net/mac80211/main.c 
    229 @@ -1004,6 +1004,9 @@ int ieee80211_register_hw(struct ieee802 
     280@@ -1019,6 +1019,9 @@ int ieee80211_register_hw(struct ieee802 
    230281  
    231282        local->dynamic_ps_forced_timeout = -1; 
     
    239290--- a/net/mac80211/sta_info.c 
    240291+++ b/net/mac80211/sta_info.c 
    241 @@ -119,6 +119,11 @@ static void __cleanup_single_sta(struct  
    242                 sta_info_recalc_tim(sta); 
     292@@ -118,6 +118,11 @@ static void __cleanup_single_sta(struct  
     293                atomic_dec(&ps->num_sta_ps); 
    243294        } 
    244295  
     
    251302                local->total_ps_buffered -= skb_queue_len(&sta->ps_tx_buf[ac]); 
    252303                ieee80211_purge_tx_queue(&local->hw, &sta->ps_tx_buf[ac]); 
    253 @@ -241,6 +246,8 @@ void sta_info_free(struct ieee80211_loca 
    254                 kfree(sta->tx_lat); 
    255         } 
     304@@ -234,6 +239,7 @@ void sta_info_free(struct ieee80211_loca 
     305  
     306        sta_dbg(sta->sdata, "Destroyed STA %pM\n", sta->sta.addr); 
    256307  
    257308+       kfree(sta->txq); 
    258 + 
    259         sta_dbg(sta->sdata, "Destroyed STA %pM\n", sta->sta.addr); 
    260   
    261309        kfree(rcu_dereference_raw(sta->sta.rates)); 
    262 @@ -294,12 +301,13 @@ struct sta_info *sta_info_alloc(struct i 
     310        kfree(sta); 
     311 } 
     312@@ -285,11 +291,12 @@ struct sta_info *sta_info_alloc(struct i 
    263313                                const u8 *addr, gfp_t gfp) 
    264314 { 
     
    267317        struct sta_info *sta; 
    268318        struct timespec uptime; 
    269         struct ieee80211_tx_latency_bin_ranges *tx_latency; 
    270319        int i; 
    271320  
     
    275324                return NULL; 
    276325  
    277 @@ -357,6 +365,20 @@ struct sta_info *sta_info_alloc(struct i 
     326@@ -321,11 +328,23 @@ struct sta_info *sta_info_alloc(struct i 
    278327        for (i = 0; i < ARRAY_SIZE(sta->chain_signal_avg); i++) 
    279328                ewma_init(&sta->chain_signal_avg[i], 1024, 8); 
    280329  
     330-       if (sta_prepare_rate_control(local, sta, gfp)) { 
     331-               kfree(sta); 
     332-               return NULL; 
    281333+       if (local->ops->wake_tx_queue) { 
    282334+               int size = sizeof(struct txq_info) + 
     
    291343+                       ieee80211_init_tx_queue(sdata, sta, txq, i); 
    292344+               } 
    293 +       } 
    294 + 
    295         if (sta_prepare_rate_control(local, sta, gfp)) 
    296                 goto free; 
    297   
    298 @@ -380,7 +402,7 @@ struct sta_info *sta_info_alloc(struct i 
     345        } 
     346  
     347+       if (sta_prepare_rate_control(local, sta, gfp)) 
     348+               goto free_txq; 
     349+ 
     350        for (i = 0; i < IEEE80211_NUM_TIDS; i++) { 
     351                /* 
     352                 * timer_to_tid must be initialized with identity mapping 
     353@@ -346,7 +365,7 @@ struct sta_info *sta_info_alloc(struct i 
    299354        if (sdata->vif.type == NL80211_IFTYPE_AP || 
    300355            sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { 
     
    305360                                IEEE80211_HT_CAP_SM_PS_SHIFT; 
    306361                /* 
     362@@ -371,6 +390,12 @@ struct sta_info *sta_info_alloc(struct i 
     363        sta_dbg(sdata, "Allocated STA %pM\n", sta->sta.addr); 
     364  
     365        return sta; 
     366+ 
     367+free_txq: 
     368+       kfree(sta->txq); 
     369+free: 
     370+       kfree(sta); 
     371+       return NULL; 
     372 } 
     373  
     374 static int sta_info_insert_check(struct sta_info *sta) 
    307375--- a/net/mac80211/sta_info.h 
    308376+++ b/net/mac80211/sta_info.h 
    309 @@ -371,6 +371,7 @@ struct sta_info { 
     377@@ -368,6 +368,7 @@ struct sta_info { 
    310378        struct sk_buff_head ps_tx_buf[IEEE80211_NUM_ACS]; 
    311379        struct sk_buff_head tx_filtered[IEEE80211_NUM_ACS]; 
    312380        unsigned long driver_buffered_tids; 
    313 +       void *txq; 
     381+       struct txq_info *txq; 
    314382  
    315383        /* Updated from RX path only, no locking requirements */ 
     
    317385--- a/net/mac80211/trace.h 
    318386+++ b/net/mac80211/trace.h 
    319 @@ -2201,6 +2201,40 @@ TRACE_EVENT(drv_get_txpower, 
     387@@ -2312,6 +2312,40 @@ TRACE_EVENT(drv_tdls_recv_channel_switch 
    320388        ) 
    321389 ); 
     
    355423+); 
    356424+ 
    357   
    358425 #ifdef CPTCFG_MAC80211_MESSAGE_TRACING 
    359426 #undef TRACE_SYSTEM 
     427 #define TRACE_SYSTEM mac80211_msg 
    360428--- a/net/mac80211/tx.c 
    361429+++ b/net/mac80211/tx.c 
    362 @@ -1198,13 +1198,75 @@ ieee80211_tx_prepare(struct ieee80211_su 
     430@@ -1201,13 +1201,76 @@ ieee80211_tx_prepare(struct ieee80211_su 
    363431        return TX_CONTINUE; 
    364432 } 
     
    374442+               .sta = pubsta 
    375443+       }; 
    376 +       struct ieee80211_txq *pubtxq = NULL; 
    377 +       struct txq_info *txq; 
     444+       struct ieee80211_txq *txq = NULL; 
     445+       struct txq_info *txqi; 
    378446+       u8 ac; 
    379447+ 
     
    384452+       if (pubsta) { 
    385453+               u8 tid = skb->priority & IEEE80211_QOS_CTL_TID_MASK; 
    386 +               pubtxq = pubsta->txq[tid]; 
     454+               txq = pubsta->txq[tid]; 
    387455+       } else if (vif) { 
    388 +               pubtxq = vif->txq; 
     456+               txq = vif->txq; 
    389457+       } 
    390458+ 
    391 +       if (!pubtxq) 
     459+       if (!txq) 
    392460+               goto tx_normal; 
    393461+ 
    394 +       ac = pubtxq->ac; 
    395 +       txq = container_of(pubtxq, struct txq_info, txq); 
    396 +       atomic_inc(&sdata->txq_len[ac]); 
    397 +       if (atomic_read(&sdata->txq_len[ac]) >= local->hw.txq_ac_max_pending) 
     462+       ac = txq->ac; 
     463+       txqi = container_of(txq, struct txq_info, txq); 
     464+       atomic_inc(&sdata->txqs_len[ac]); 
     465+       if (atomic_read(&sdata->txqs_len[ac]) >= local->hw.txq_ac_max_pending) 
    398466+               netif_stop_subqueue(sdata->dev, ac); 
    399467+ 
    400 +       skb_queue_tail(&txq->queue, skb); 
    401 +       drv_wake_tx_queue(local, txq); 
     468+       skb_queue_tail(&txqi->queue, skb); 
     469+       drv_wake_tx_queue(local, txqi); 
    402470+ 
    403471+       return; 
     
    407475+} 
    408476+ 
    409 +int ieee80211_tx_dequeue(struct ieee80211_hw *hw, struct ieee80211_txq *pubtxq, 
    410 +                        struct sk_buff **dest) 
     477+struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw, 
     478+                                    struct ieee80211_txq *txq) 
    411479+{ 
    412480+       struct ieee80211_local *local = hw_to_local(hw); 
    413 +       struct ieee80211_sub_if_data *sdata = vif_to_sdata(pubtxq->vif); 
    414 +       struct txq_info *txq = container_of(pubtxq, struct txq_info, txq); 
    415 +       u8 ac = pubtxq->ac; 
    416 + 
    417 +       *dest = skb_dequeue(&txq->queue); 
    418 +       if (!*dest) 
    419 +               return -EAGAIN; 
    420 + 
    421 +       atomic_dec(&sdata->txq_len[ac]); 
     481+       struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->vif); 
     482+       struct txq_info *txqi = container_of(txq, struct txq_info, txq); 
     483+       struct sk_buff *skb; 
     484+       u8 ac = txq->ac; 
     485+ 
     486+       skb = skb_dequeue(&txqi->queue); 
     487+       if (!skb) 
     488+               return ERR_PTR(-EAGAIN); 
     489+ 
     490+       atomic_dec(&sdata->txqs_len[ac]); 
    422491+       if (__netif_subqueue_stopped(sdata->dev, ac)) 
    423492+               ieee80211_propagate_queue_wake(local, sdata->vif.hw_queue[ac]); 
    424493+ 
    425 +       return 0; 
     494+       return skb; 
    426495+} 
    427496+EXPORT_SYMBOL(ieee80211_tx_dequeue); 
     
    437506        unsigned long flags; 
    438507  
    439 @@ -1262,10 +1324,9 @@ static bool ieee80211_tx_frags(struct ie 
     508@@ -1265,10 +1328,9 @@ static bool ieee80211_tx_frags(struct ie 
    440509                spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); 
    441510  
     
    456525  
    457526+                       if (local->ops->wake_tx_queue && 
    458 +                           (atomic_read(&sdata->txq_len[ac]) > 
     527+                           (atomic_read(&sdata->txqs_len[ac]) > 
    459528+                            local->hw.txq_ac_max_pending)) 
    460529+                               continue; 
     
    463532                            (sdata->vif.cab_queue == queue && 
    464533                             local->queue_stop_reasons[ac_queue] == 0 && 
    465 @@ -3182,3 +3187,33 @@ u8 *ieee80211_add_wmm_info_ie(u8 *buf, u 
     534@@ -3307,3 +3312,36 @@ u8 *ieee80211_add_wmm_info_ie(u8 *buf, u 
    466535  
    467536        return buf; 
     
    470539+void ieee80211_init_tx_queue(struct ieee80211_sub_if_data *sdata, 
    471540+                            struct sta_info *sta, 
    472 +                            struct txq_info *txq, int tid) 
     541+                            struct txq_info *txqi, int tid) 
    473542+{ 
    474 +       skb_queue_head_init(&txq->queue); 
    475 +       txq->txq.vif = &sdata->vif; 
     543+       skb_queue_head_init(&txqi->queue); 
     544+       txqi->txq.vif = &sdata->vif; 
    476545+ 
    477546+       if (sta) { 
    478 +               txq->txq.sta = &sta->sta; 
    479 +               sta->sta.txq[tid] = &txq->txq; 
    480 +               txq->txq.ac = ieee802_1d_to_ac[tid & 7]; 
     547+               txqi->txq.sta = &sta->sta; 
     548+               sta->sta.txq[tid] = &txqi->txq; 
     549+               txqi->txq.ac = ieee802_1d_to_ac[tid & 7]; 
    481550+       } else { 
    482 +               sdata->vif.txq = &txq->txq; 
    483 +               txq->txq.ac = IEEE80211_AC_BE; 
     551+               sdata->vif.txq = &txqi->txq; 
     552+               txqi->txq.ac = IEEE80211_AC_BE; 
    484553+       } 
    485554+} 
    486555+ 
    487556+void ieee80211_flush_tx_queue(struct ieee80211_local *local, 
    488 +                             struct ieee80211_txq *pubtxq) 
     557+                             struct ieee80211_txq *txq) 
    489558+{ 
    490 +       struct txq_info *txq = container_of(pubtxq, struct txq_info, txq); 
    491 +       struct ieee80211_sub_if_data *sdata = vif_to_sdata(pubtxq->vif); 
     559+       struct txq_info *txqi = container_of(txq, struct txq_info, txq); 
     560+       struct ieee80211_sub_if_data *sdata = vif_to_sdata(txq->vif); 
    492561+       struct sk_buff *skb; 
    493 + 
    494 +       while ((skb = skb_dequeue(&txq->queue)) != NULL) { 
    495 +               atomic_dec(&sdata->txq_len[pubtxq->ac]); 
     562+       int n = 0; 
     563+ 
     564+       while ((skb = skb_dequeue(&txqi->queue)) != NULL) { 
     565+               n++; 
    496566+               ieee80211_free_txskb(&local->hw, skb); 
    497567+       } 
     568+ 
     569+       atomic_sub(n, &sdata->txqs_len[txq->ac]); 
    498570+} 
  • trunk/package/kernel/mac80211/patches/305-ath5k-channel-change-fix.patch

    r44654 r44655  
    1 From a5d37f41d298a2a202296909892dd01e2bf071c7 Mon Sep 17 00:00:00 2001 
    21From: Sergey Ryazanov <ryazanov.s.a@gmail.com> 
    3 Date: Wed, 4 Mar 2015 00:44:37 +0300 
     2Date: Wed, 4 Mar 2015 05:12:10 +0300 
    43Subject: [PATCH] ath5k: channel change fix 
    54 
     
    6059Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> 
    6160--- 
    62  drivers/net/wireless/ath/ath5k/base.c  | 24 +++++++++++++++++++++--- 
    63  drivers/net/wireless/ath/ath5k/reset.c | 24 ------------------------ 
    64  2 files changed, 21 insertions(+), 27 deletions(-) 
    6561 
    66 diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c 
    67 index bc9cb35..34b2f15 100644 
    6862--- a/drivers/net/wireless/ath/ath5k/base.c 
    6963+++ b/drivers/net/wireless/ath/ath5k/base.c 
    70 @@ -2858,7 +2858,7 @@ ath5k_reset(struct ath5k_hw *ah, struct ieee80211_channel *chan, 
     64@@ -2858,7 +2858,7 @@ ath5k_reset(struct ath5k_hw *ah, struct  
    7165 { 
    7266        struct ath_common *common = ath5k_hw_common(ah); 
     
    7771        ATH5K_DBG(ah, ATH5K_DEBUG_RESET, "resetting\n"); 
    7872  
    79 @@ -2876,11 +2876,29 @@ ath5k_reset(struct ath5k_hw *ah, struct ieee80211_channel *chan, 
     73@@ -2876,11 +2876,29 @@ ath5k_reset(struct ath5k_hw *ah, struct  
    8074         * so we should also free any remaining 
    8175         * tx buffers */ 
     
    109103        if (ret) { 
    110104                ATH5K_ERR(ah, "can't reset hardware (%d)\n", ret); 
    111 diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c 
    112 index b9b651e..99e62f9 100644 
    113105--- a/drivers/net/wireless/ath/ath5k/reset.c 
    114106+++ b/drivers/net/wireless/ath/ath5k/reset.c 
    115 @@ -1169,30 +1169,6 @@ ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode, 
     107@@ -1169,30 +1169,6 @@ ath5k_hw_reset(struct ath5k_hw *ah, enum 
    116108        if (ah->ah_version == AR5K_AR5212) 
    117109                ath5k_hw_set_sleep_clock(ah, false); 
  • trunk/package/kernel/mac80211/patches/306-ath5k-fix-reset-race.patch

    r44654 r44655  
    1 From d8d4050dff457b79ad7e9356103cad557c338532 Mon Sep 17 00:00:00 2001 
    21From: Sergey Ryazanov <ryazanov.s.a@gmail.com> 
    3 Date: Wed, 4 Mar 2015 03:16:34 +0300 
     2Date: Wed, 4 Mar 2015 05:12:11 +0300 
    43Subject: [PATCH] ath5k: fix reset race 
    54 
     
    5554Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com> 
    5655--- 
    57  drivers/net/wireless/ath/ath5k/ath5k.h | 1 + 
    58  drivers/net/wireless/ath/ath5k/base.c  | 7 +++++++ 
    59  2 files changed, 8 insertions(+) 
    6056 
    61 diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h 
    62 index 1ed7a88..7ca0d6f 100644 
    6357--- a/drivers/net/wireless/ath/ath5k/ath5k.h 
    6458+++ b/drivers/net/wireless/ath/ath5k/ath5k.h 
     
    7165        unsigned int            filter_flags;   /* HW flags, AR5K_RX_FILTER_* */ 
    7266        unsigned int            fif_filter_flags; /* Current FIF_* filter flags */ 
    73 diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c 
    74 index 34b2f15..41848e1 100644 
    7567--- a/drivers/net/wireless/ath/ath5k/base.c 
    7668+++ b/drivers/net/wireless/ath/ath5k/base.c 
    77 @@ -1523,6 +1523,9 @@ ath5k_set_current_imask(struct ath5k_hw *ah) 
     69@@ -1523,6 +1523,9 @@ ath5k_set_current_imask(struct ath5k_hw  
    7870        enum ath5k_int imask; 
    7971        unsigned long flags; 
     
    8577        imask = ah->imask; 
    8678        if (ah->rx_pending) 
    87 @@ -2862,6 +2865,8 @@ ath5k_reset(struct ath5k_hw *ah, struct ieee80211_channel *chan, 
     79@@ -2862,6 +2865,8 @@ ath5k_reset(struct ath5k_hw *ah, struct  
    8880  
    8981        ATH5K_DBG(ah, ATH5K_DEBUG_RESET, "resetting\n"); 
     
    9486        synchronize_irq(ah->irq); 
    9587        ath5k_stop_tasklets(ah); 
    96 @@ -2952,6 +2957,8 @@ ath5k_reset(struct ath5k_hw *ah, struct ieee80211_channel *chan, 
     88@@ -2952,6 +2957,8 @@ ath5k_reset(struct ath5k_hw *ah, struct  
    9789         */ 
    9890 /*     ath5k_chan_change(ah, c); */ 
  • trunk/package/kernel/mac80211/patches/400-ath_move_debug_code.patch

    r43028 r44655  
    1515--- a/drivers/net/wireless/ath/ath.h 
    1616+++ b/drivers/net/wireless/ath/ath.h 
    17 @@ -301,13 +301,6 @@ void _ath_dbg(struct ath_common *common, 
     17@@ -313,13 +313,6 @@ void _ath_dbg(struct ath_common *common, 
    1818 #endif /* CPTCFG_ATH_DEBUG */ 
    1919  
  • trunk/package/kernel/mac80211/patches/401-ath9k_blink_default.patch

    r37007 r44655  
    55 MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption"); 
    66  
    7 -int led_blink; 
    8 +int led_blink = 1; 
    9  module_param_named(blink, led_blink, int, 0444); 
     7-int ath9k_led_blink; 
     8+int ath9k_led_blink = 1; 
     9 module_param_named(blink, ath9k_led_blink, int, 0444); 
    1010 MODULE_PARM_DESC(blink, "Enable LED blink on activity"); 
    1111  
  • trunk/package/kernel/mac80211/patches/402-ath_regd_optional.patch

    r43210 r44655  
    6060--- a/.local-symbols 
    6161+++ b/.local-symbols 
    62 @@ -116,6 +116,7 @@ RTL8187_LEDS= 
     62@@ -89,6 +89,7 @@ RTL8187_LEDS= 
    6363 ATH_COMMON= 
    6464 ATH_CARDS= 
  • trunk/package/kernel/mac80211/patches/404-regd_no_assoc_hints.patch

    r42952 r44655  
    11--- a/net/wireless/reg.c 
    22+++ b/net/wireless/reg.c 
    3 @@ -2112,6 +2112,8 @@ void regulatory_hint_country_ie(struct w 
     3@@ -2368,6 +2368,8 @@ void regulatory_hint_country_ie(struct w 
    44        enum environment_cap env = ENVIRON_ANY; 
    55        struct regulatory_request *request = NULL, *lr; 
     
    1010        if (country_ie_len & 0x01) 
    1111                return; 
    12 @@ -2308,6 +2310,7 @@ static void restore_regulatory_settings( 
     12@@ -2571,6 +2573,7 @@ static void restore_regulatory_settings( 
    1313  
    1414 void regulatory_hint_disconnect(void) 
  • trunk/package/kernel/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch

    r43239 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/init.c 
    22+++ b/drivers/net/wireless/ath/ath9k/init.c 
    3 @@ -684,6 +684,7 @@ static const struct ieee80211_iface_limi 
     3@@ -704,6 +704,7 @@ static const struct ieee80211_iface_limi 
    44                                 BIT(NL80211_IFTYPE_AP) }, 
    55        { .max = 1,     .types = BIT(NL80211_IFTYPE_P2P_CLIENT) | 
  • trunk/package/kernel/mac80211/patches/411-ath5k_allow_adhoc_and_ap.patch

    r42683 r44655  
    1919--- a/drivers/net/wireless/ath/ath5k/base.c 
    2020+++ b/drivers/net/wireless/ath/ath5k/base.c 
    21 @@ -1962,7 +1962,7 @@ ath5k_beacon_send(struct ath5k_hw *ah) 
     21@@ -1965,7 +1965,7 @@ ath5k_beacon_send(struct ath5k_hw *ah) 
    2222        } 
    2323  
     
    2828                u64 tsf = ath5k_hw_get_tsf64(ah); 
    2929                u32 tsftu = TSF_TO_TU(tsf); 
    30 @@ -2048,7 +2048,7 @@ ath5k_beacon_update_timers(struct ath5k_ 
     30@@ -2051,7 +2051,7 @@ ath5k_beacon_update_timers(struct ath5k_ 
    3131  
    3232        intval = ah->bintval & AR5K_BEACON_PERIOD; 
     
    3737                if (intval < 15) 
    3838                        ATH5K_WARN(ah, "intval %u is too low, min 15\n", 
    39 @@ -2515,6 +2515,7 @@ static const struct ieee80211_iface_limi 
     39@@ -2518,6 +2518,7 @@ static const struct ieee80211_iface_limi 
    4040                                 BIT(NL80211_IFTYPE_MESH_POINT) | 
    4141 #endif 
  • trunk/package/kernel/mac80211/patches/440-ath5k_channel_bw_debugfs.patch

    r43210 r44655  
    122122--- a/drivers/net/wireless/ath/ath5k/ath5k.h 
    123123+++ b/drivers/net/wireless/ath/ath5k/ath5k.h 
    124 @@ -1370,6 +1370,7 @@ struct ath5k_hw { 
     124@@ -1371,6 +1371,7 @@ struct ath5k_hw { 
    125125        u8                      ah_coverage_class; 
    126126        bool                    ah_ack_bitrate_high; 
  • trunk/package/kernel/mac80211/patches/500-ath9k_eeprom_debugfs.patch

    r43208 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/debug.c 
    22+++ b/drivers/net/wireless/ath/ath9k/debug.c 
    3 @@ -1314,6 +1314,53 @@ void ath9k_deinit_debug(struct ath_softc 
    4         ath9k_spectral_deinit_debug(sc); 
     3@@ -1299,6 +1299,53 @@ void ath9k_deinit_debug(struct ath_softc 
     4        ath9k_cmn_spectral_deinit_debug(&sc->spec_priv); 
    55 } 
    66  
     
    5555 { 
    5656        struct ath_common *common = ath9k_hw_common(ah); 
    57 @@ -1333,6 +1380,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
     57@@ -1318,6 +1365,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
    5858        ath9k_tx99_init_debug(sc); 
    59         ath9k_spectral_init_debug(sc); 
     59        ath9k_cmn_spectral_init_debug(&sc->spec_priv, sc->debug.debugfs_phy); 
    6060  
    6161+       debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, 
    6262+                           &fops_eeprom); 
    63         debugfs_create_file("dma", S_IRUSR, sc->debug.debugfs_phy, sc, 
    64                             &fops_dma); 
    65         debugfs_create_file("interrupt", S_IRUSR, sc->debug.debugfs_phy, sc, 
     63        debugfs_create_devm_seqfile(sc->dev, "dma", sc->debug.debugfs_phy, 
     64                                    read_file_dma); 
     65        debugfs_create_devm_seqfile(sc->dev, "interrupt", sc->debug.debugfs_phy, 
  • trunk/package/kernel/mac80211/patches/501-ath9k_ahb_init.patch

    r43239 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/init.c 
    22+++ b/drivers/net/wireless/ath/ath9k/init.c 
    3 @@ -990,23 +990,23 @@ static int __init ath9k_init(void) 
     3@@ -1012,23 +1012,23 @@ static int __init ath9k_init(void) 
    44 { 
    55        int error; 
  • trunk/package/kernel/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch

    r42686 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/hw.c 
    22+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    3 @@ -356,13 +356,8 @@ static void ath9k_hw_init_config(struct  
     3@@ -358,13 +358,8 @@ static void ath9k_hw_init_config(struct  
    44  
    55        ah->config.rx_intr_mitigation = true; 
  • trunk/package/kernel/mac80211/patches/511-ath9k_reduce_rxbuf.patch

    r42683 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
    22+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
    3 @@ -88,7 +88,7 @@ int ath_descdma_setup(struct ath_softc * 
     3@@ -87,7 +87,7 @@ int ath_descdma_setup(struct ath_softc * 
    44                (_l) &= ((_sz) - 1);            \ 
    55        } while (0) 
  • trunk/package/kernel/mac80211/patches/512-ath9k_channelbw_debugfs.patch

    r43208 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/debug.c 
    22+++ b/drivers/net/wireless/ath/ath9k/debug.c 
    3 @@ -1361,6 +1361,52 @@ static const struct file_operations fops 
     3@@ -1346,6 +1346,52 @@ static const struct file_operations fops 
    44        .owner = THIS_MODULE 
    55 }; 
     
    5454 { 
    5555        struct ath_common *common = ath9k_hw_common(ah); 
    56 @@ -1382,6 +1428,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
     56@@ -1367,6 +1413,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
    5757  
    5858        debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, 
     
    6060+       debugfs_create_file("chanbw", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, 
    6161+                           sc, &fops_chanbw); 
    62         debugfs_create_file("dma", S_IRUSR, sc->debug.debugfs_phy, sc, 
    63                             &fops_dma); 
    64         debugfs_create_file("interrupt", S_IRUSR, sc->debug.debugfs_phy, sc, 
     62        debugfs_create_devm_seqfile(sc->dev, "dma", sc->debug.debugfs_phy, 
     63                                    read_file_dma); 
     64        debugfs_create_devm_seqfile(sc->dev, "interrupt", sc->debug.debugfs_phy, 
    6565--- a/drivers/net/wireless/ath/ath.h 
    6666+++ b/drivers/net/wireless/ath/ath.h 
    67 @@ -142,6 +142,7 @@ struct ath_common { 
     67@@ -148,6 +148,7 @@ struct ath_common { 
    6868        int debug_mask; 
    6969        enum ath_device_state state; 
  • trunk/package/kernel/mac80211/patches/513-ath9k_add_pci_ids.patch

    r42952 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/hw.c 
    22+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    3 @@ -611,6 +611,7 @@ int ath9k_hw_init(struct ath_hw *ah) 
     3@@ -616,6 +616,7 @@ int ath9k_hw_init(struct ath_hw *ah) 
    44  
    55        /* These are all the AR5008/AR9001/AR9002/AR9003 hardware family of chipsets */ 
     
    1111--- a/drivers/net/wireless/ath/ath9k/hw.h 
    1212+++ b/drivers/net/wireless/ath/ath9k/hw.h 
    13 @@ -35,6 +35,7 @@ 
     13@@ -36,6 +36,7 @@ 
    1414  
    1515 #define ATHEROS_VENDOR_ID      0x168c 
     
    2121--- a/drivers/net/wireless/ath/ath9k/pci.c 
    2222+++ b/drivers/net/wireless/ath/ath9k/pci.c 
    23 @@ -664,6 +664,7 @@ static const struct pci_device_id ath_pc 
     23@@ -751,6 +751,7 @@ static const struct pci_device_id ath_pc 
    2424          .driver_data = ATH9K_PCI_BT_ANT_DIV }, 
    2525 #endif 
  • trunk/package/kernel/mac80211/patches/522-mac80211_configure_antenna_gain.patch

    r43342 r44655  
    11--- a/include/net/cfg80211.h 
    22+++ b/include/net/cfg80211.h 
    3 @@ -2245,6 +2245,7 @@ struct cfg80211_qos_map { 
     3@@ -2320,6 +2320,7 @@ struct cfg80211_qos_map { 
    44  *     (as advertised by the nl80211 feature flag.) 
    55  * @get_tx_power: store the current TX power into the dbm variable; 
     
    99  * @set_wds_peer: set the WDS peer for a WDS interface 
    1010  * 
    11 @@ -2495,6 +2496,7 @@ struct cfg80211_ops { 
     11@@ -2576,6 +2577,7 @@ struct cfg80211_ops { 
    1212                                enum nl80211_tx_power_setting type, int mbm); 
    1313        int     (*get_tx_power)(struct wiphy *wiphy, struct wireless_dev *wdev, 
     
    1919--- a/include/net/mac80211.h 
    2020+++ b/include/net/mac80211.h 
    21 @@ -1078,6 +1078,7 @@ enum ieee80211_smps_mode { 
     21@@ -1138,6 +1138,7 @@ enum ieee80211_smps_mode { 
    2222  * 
    2323  * @power_level: requested transmit power (in dBm), backward compatibility 
     
    2727  * @chandef: the channel definition to tune to 
    2828  * @radar_enabled: whether radar detection is enabled 
    29 @@ -1099,6 +1100,7 @@ struct ieee80211_conf { 
     29@@ -1159,6 +1160,7 @@ struct ieee80211_conf { 
    3030        u32 flags; 
    3131        int power_level, dynamic_ps_timeout; 
     
    3737--- a/include/uapi/linux/nl80211.h 
    3838+++ b/include/uapi/linux/nl80211.h 
    39 @@ -1656,6 +1656,9 @@ enum nl80211_commands { 
    40   * @NL80211_ATTR_SMPS_MODE: SMPS mode to use (ap mode). see 
    41   *     &enum nl80211_smps_mode. 
     39@@ -1760,6 +1760,9 @@ enum nl80211_commands { 
     40  * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device 
     41  *      is operating in an indoor environment. 
    4242  * 
    4343+ * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce 
    4444+ *     transmit power to stay within regulatory limits. u32, dBi. 
    4545+ * 
     46  * @NUM_NL80211_ATTR: total number of nl80211_attrs available 
    4647  * @NL80211_ATTR_MAX: highest attribute number currently defined 
    4748  * @__NL80211_ATTR_AFTER_LAST: internal use 
    48   */ 
    49 @@ -2008,6 +2011,8 @@ enum nl80211_attrs { 
     49@@ -2129,6 +2132,8 @@ enum nl80211_attrs { 
    5050  
    51         NL80211_ATTR_SMPS_MODE, 
     51        NL80211_ATTR_REG_INDOOR, 
    5252  
    5353+       NL80211_ATTR_WIPHY_ANTENNA_GAIN, 
     
    5858--- a/net/mac80211/cfg.c 
    5959+++ b/net/mac80211/cfg.c 
    60 @@ -2155,6 +2155,19 @@ static int ieee80211_get_tx_power(struct 
     60@@ -2208,6 +2208,19 @@ static int ieee80211_get_tx_power(struct 
    6161        return 0; 
    6262 } 
     
    7878                                  const u8 *addr) 
    7979 { 
    80 @@ -3723,6 +3736,7 @@ const struct cfg80211_ops mac80211_confi 
     80@@ -3771,6 +3784,7 @@ const struct cfg80211_ops mac80211_confi 
    8181        .set_wiphy_params = ieee80211_set_wiphy_params, 
    8282        .set_tx_power = ieee80211_set_tx_power, 
     
    8888--- a/net/mac80211/ieee80211_i.h 
    8989+++ b/net/mac80211/ieee80211_i.h 
    90 @@ -1339,6 +1339,7 @@ struct ieee80211_local { 
     90@@ -1330,6 +1330,7 @@ struct ieee80211_local { 
    9191        int dynamic_ps_forced_timeout; 
    9292  
     
    130130--- a/net/wireless/nl80211.c 
    131131+++ b/net/wireless/nl80211.c 
    132 @@ -395,6 +395,7 @@ static const struct nla_policy nl80211_p 
    133         [NL80211_ATTR_USER_PRIO] = { .type = NLA_U8 }, 
    134         [NL80211_ATTR_ADMITTED_TIME] = { .type = NLA_U16 }, 
    135         [NL80211_ATTR_SMPS_MODE] = { .type = NLA_U8 }, 
     132@@ -400,6 +400,7 @@ static const struct nla_policy nl80211_p 
     133        [NL80211_ATTR_NETNS_FD] = { .type = NLA_U32 }, 
     134        [NL80211_ATTR_SCHED_SCAN_DELAY] = { .type = NLA_U32 }, 
     135        [NL80211_ATTR_REG_INDOOR] = { .type = NLA_FLAG }, 
    136136+       [NL80211_ATTR_WIPHY_ANTENNA_GAIN] = { .type = NLA_U32 }, 
    137137 }; 
    138138  
    139139 /* policy for the key attributes */ 
    140 @@ -2184,6 +2185,20 @@ static int nl80211_set_wiphy(struct sk_b 
     140@@ -2207,6 +2208,20 @@ static int nl80211_set_wiphy(struct sk_b 
    141141                        return result; 
    142142        } 
  • trunk/package/kernel/mac80211/patches/530-ath9k_extra_leds.patch

    r43239 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
    22+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
    3 @@ -812,6 +812,9 @@ static inline int ath9k_dump_btcoex(stru 
     3@@ -814,6 +814,9 @@ static inline int ath9k_dump_btcoex(stru 
    44 void ath_init_leds(struct ath_softc *sc); 
    55 void ath_deinit_leds(struct ath_softc *sc); 
     
    1111 static inline void ath_init_leds(struct ath_softc *sc) 
    1212 { 
    13 @@ -952,6 +955,13 @@ void ath_ant_comb_scan(struct ath_softc  
     13@@ -953,6 +956,13 @@ void ath_ant_comb_scan(struct ath_softc  
    1414  
    1515 #define ATH9K_NUM_CHANCTX  2 /* supports 2 operating channels */ 
     
    2525        struct ieee80211_hw *hw; 
    2626        struct device *dev; 
    27 @@ -1003,9 +1013,8 @@ struct ath_softc { 
     27@@ -1004,9 +1014,8 @@ struct ath_softc { 
    2828        spinlock_t chan_lock; 
    2929  
     
    3939--- a/drivers/net/wireless/ath/ath9k/gpio.c 
    4040+++ b/drivers/net/wireless/ath/ath9k/gpio.c 
    41 @@ -24,40 +24,102 @@ 
     41@@ -24,45 +24,102 @@ 
    4242 static void ath_led_brightness(struct led_classdev *led_cdev, 
    4343                               enum led_brightness brightness) 
    4444 { 
    4545-       struct ath_softc *sc = container_of(led_cdev, struct ath_softc, led_cdev); 
    46 -       ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, (brightness == LED_OFF)); 
     46-       u32 val = (brightness == LED_OFF); 
    4747+       struct ath_led *led = container_of(led_cdev, struct ath_led, cdev); 
    4848+       struct ath_softc *sc = led->sc; 
    49 + 
     49  
     50-       if (sc->sc_ah->config.led_active_high) 
     51-               val = !val; 
    5052+       ath9k_ps_wakeup(sc); 
    5153+       ath9k_hw_set_gpio(sc->sc_ah, led->gpio->gpio, 
     
    7981+       return 0; 
    8082+} 
    81 + 
     83  
     84-       ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, val); 
    8285+int ath_create_gpio_led(struct ath_softc *sc, int gpio_num, const char *name, 
    8386+                       const char *trigger, bool active_low) 
     
    137140                return; 
    138141  
    139 -       if (!led_blink) 
     142-       if (!ath9k_led_blink) 
    140143-               sc->led_cdev.default_trigger = 
    141144-                       ieee80211_get_radio_led_name(sc->hw); 
     
    151154-       if (ret < 0) 
    152155-               return; 
    153 +       if (led_blink) 
     156+       if (ath9k_led_blink) 
    154157+               trigger = sc->led_default_trigger; 
    155158+       else 
     
    163166--- a/drivers/net/wireless/ath/ath9k/init.c 
    164167+++ b/drivers/net/wireless/ath/ath9k/init.c 
    165 @@ -903,7 +903,7 @@ int ath9k_init_device(u16 devid, struct  
     168@@ -924,7 +924,7 @@ int ath9k_init_device(u16 devid, struct  
    166169  
    167170 #ifdef CPTCFG_MAC80211_LEDS 
     
    174177--- a/drivers/net/wireless/ath/ath9k/debug.c 
    175178+++ b/drivers/net/wireless/ath/ath9k/debug.c 
    176 @@ -1406,6 +1406,61 @@ static const struct file_operations fops 
     179@@ -1391,6 +1391,61 @@ static const struct file_operations fops 
    177180        .llseek = default_llseek, 
    178181 }; 
     
    236239 int ath9k_init_debug(struct ath_hw *ah) 
    237240 { 
    238 @@ -1430,6 +1485,10 @@ int ath9k_init_debug(struct ath_hw *ah) 
     241@@ -1415,6 +1470,10 @@ int ath9k_init_debug(struct ath_hw *ah) 
    239242                            &fops_eeprom); 
    240243        debugfs_create_file("chanbw", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, 
     
    244247+                          sc->debug.debugfs_phy, sc, &fops_gpio_led); 
    245248+#endif 
    246         debugfs_create_file("dma", S_IRUSR, sc->debug.debugfs_phy, sc, 
    247                             &fops_dma); 
    248         debugfs_create_file("interrupt", S_IRUSR, sc->debug.debugfs_phy, sc, 
     249        debugfs_create_devm_seqfile(sc->dev, "dma", sc->debug.debugfs_phy, 
     250                                    read_file_dma); 
     251        debugfs_create_devm_seqfile(sc->dev, "interrupt", sc->debug.debugfs_phy, 
  • trunk/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch

    r43971 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/debug.c 
    22+++ b/drivers/net/wireless/ath/ath9k/debug.c 
    3 @@ -1462,6 +1462,50 @@ static const struct file_operations fops 
     3@@ -1447,6 +1447,50 @@ static const struct file_operations fops 
    44 #endif 
    55  
     
    5252 { 
    5353        struct ath_common *common = ath9k_hw_common(ah); 
    54 @@ -1489,6 +1533,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
     54@@ -1474,6 +1518,8 @@ int ath9k_init_debug(struct ath_hw *ah) 
    5555        debugfs_create_file("gpio_led", S_IWUSR, 
    5656                           sc->debug.debugfs_phy, sc, &fops_gpio_led); 
     
    5858+       debugfs_create_file("diag", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy, 
    5959+                           sc, &fops_diag); 
    60         debugfs_create_file("dma", S_IRUSR, sc->debug.debugfs_phy, sc, 
    61                             &fops_dma); 
    62         debugfs_create_file("interrupt", S_IRUSR, sc->debug.debugfs_phy, sc, 
     60        debugfs_create_devm_seqfile(sc->dev, "dma", sc->debug.debugfs_phy, 
     61                                    read_file_dma); 
     62        debugfs_create_devm_seqfile(sc->dev, "interrupt", sc->debug.debugfs_phy, 
    6363--- a/drivers/net/wireless/ath/ath9k/hw.h 
    6464+++ b/drivers/net/wireless/ath/ath9k/hw.h 
    65 @@ -490,6 +490,12 @@ enum { 
     65@@ -499,6 +499,12 @@ enum { 
    6666        ATH9K_RESET_COLD, 
    6767 }; 
     
    7676        u32 magic; 
    7777        u16 devid; 
    78 @@ -769,6 +775,8 @@ struct ath_hw { 
     78@@ -780,6 +786,8 @@ struct ath_hw { 
    7979        u32 rfkill_polarity; 
    8080        u32 ah_flags; 
     
    8585        bool htc_reset_init; 
    8686  
    87 @@ -1025,6 +1033,7 @@ void ath9k_hw_check_nav(struct ath_hw *a 
     87@@ -1040,6 +1048,7 @@ void ath9k_hw_check_nav(struct ath_hw *a 
    8888 bool ath9k_hw_check_alive(struct ath_hw *ah); 
    8989  
     
    9595--- a/drivers/net/wireless/ath/ath9k/hw.c 
    9696+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    97 @@ -1753,6 +1753,20 @@ u32 ath9k_hw_get_tsf_offset(struct times 
     97@@ -1771,6 +1771,20 @@ u32 ath9k_hw_get_tsf_offset(struct times 
    9898 } 
    9999 EXPORT_SYMBOL(ath9k_hw_get_tsf_offset); 
     
    116116                   struct ath9k_hw_cal_data *caldata, bool fastcc) 
    117117 { 
    118 @@ -1957,6 +1971,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
     118@@ -1977,6 +1991,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
    119119                ar9003_hw_disable_phy_restart(ah); 
    120120  
  • trunk/package/kernel/mac80211/patches/543-ath9k_entropy_from_adc.patch

    r43239 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/hw.h 
    22+++ b/drivers/net/wireless/ath/ath9k/hw.h 
    3 @@ -686,6 +686,7 @@ struct ath_spec_scan { 
     3@@ -696,6 +696,7 @@ struct ath_spec_scan { 
    44  * @config_pci_powersave: 
    55  * @calibrate: periodic calibration for NF, ANI, IQ, ADC gain, ADC-DC 
     
    99  * @spectral_scan_trigger: trigger a spectral scan run 
    1010  * @spectral_scan_wait: wait for a spectral scan run to finish 
    11 @@ -708,6 +709,7 @@ struct ath_hw_ops { 
     11@@ -718,6 +719,7 @@ struct ath_hw_ops { 
    1212                        struct ath_hw_antcomb_conf *antconf); 
    1313        void (*antdiv_comb_conf_set)(struct ath_hw *ah, 
     
    1919--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c 
    2020+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c 
    21 @@ -1799,6 +1799,26 @@ static void ar9003_hw_tx99_set_txpower(s 
    22                   ATH9K_POW_SM(p_pwr_array[ALL_TARGET_HT40_14],  0)); 
     21@@ -1999,6 +1999,26 @@ void ar9003_hw_init_rate_txpower(struct  
     22        } 
    2323 } 
    2424  
     
    4646 { 
    4747        struct ath_hw_private_ops *priv_ops = ath9k_hw_private_ops(ah); 
    48 @@ -1834,6 +1854,7 @@ void ar9003_hw_attach_phy_ops(struct ath 
     48@@ -2035,6 +2055,7 @@ void ar9003_hw_attach_phy_ops(struct ath 
    4949        priv_ops->set_radar_params = ar9003_hw_set_radar_params; 
    5050        priv_ops->fast_chan_change = ar9003_hw_fast_chan_change; 
     
    5656--- a/drivers/net/wireless/ath/ath9k/init.c 
    5757+++ b/drivers/net/wireless/ath/ath9k/init.c 
    58 @@ -672,7 +672,8 @@ static void ath9k_init_txpower_limits(st 
     58@@ -692,7 +692,8 @@ static void ath9k_init_txpower_limits(st 
    5959        if (ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ) 
    6060                ath9k_init_band_txpower(sc, IEEE80211_BAND_5GHZ); 
     
    6666  
    6767 static const struct ieee80211_iface_limit if_limits[] = { 
    68 @@ -863,6 +864,18 @@ static void ath9k_set_hw_capab(struct at 
     68@@ -884,6 +885,18 @@ static void ath9k_set_hw_capab(struct at 
    6969        SET_IEEE80211_PERM_ADDR(hw, common->macaddr); 
    7070 } 
     
    8585                    const struct ath_bus_ops *bus_ops) 
    8686 { 
    87 @@ -908,6 +921,8 @@ int ath9k_init_device(u16 devid, struct  
     87@@ -929,6 +942,8 @@ int ath9k_init_device(u16 devid, struct  
    8888                ARRAY_SIZE(ath9k_tpt_blink)); 
    8989 #endif 
     
    111111--- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c 
    112112+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c 
    113 @@ -1235,9 +1235,30 @@ static void ar5008_hw_set_radar_conf(str 
    114         conf->radar_inband = 8; 
     113@@ -1315,9 +1315,30 @@ void ar5008_hw_init_rate_txpower(struct  
     114        } 
    115115 } 
    116116  
     
    142142                AR_PHY_CCA, 
    143143                AR_PHY_CH1_CCA, 
    144 @@ -1252,6 +1273,8 @@ int ar5008_hw_attach_phy_ops(struct ath_ 
     144@@ -1332,6 +1353,8 @@ int ar5008_hw_attach_phy_ops(struct ath_ 
    145145        if (ret) 
    146146            return ret; 
  • trunk/package/kernel/mac80211/patches/544-ath9k-ar933x-usb-hang-workaround.patch

    r43208 r44655  
    2121 /* Chip Revisions */ 
    2222 /******************/ 
    23 @@ -1338,6 +1351,9 @@ static bool ath9k_hw_set_reset(struct at 
     23@@ -1349,6 +1362,9 @@ static bool ath9k_hw_set_reset(struct at 
    2424        if (AR_SREV_9100(ah)) 
    2525                udelay(50); 
     
    3131 } 
    3232  
    33 @@ -1437,6 +1453,9 @@ static bool ath9k_hw_chip_reset(struct a 
     33@@ -1448,6 +1464,9 @@ static bool ath9k_hw_chip_reset(struct a 
    3434                ar9003_hw_internal_regulator_apply(ah); 
    3535        ath9k_hw_init_pll(ah, chan); 
     
    4141 } 
    4242  
    43 @@ -1731,8 +1750,14 @@ static int ath9k_hw_do_fastcc(struct ath 
     43@@ -1749,8 +1768,14 @@ static int ath9k_hw_do_fastcc(struct ath 
    4444        if (AR_SREV_9271(ah)) 
    4545                ar9002_hw_load_ani_reg(ah, chan); 
     
    5656 } 
    5757  
    58 @@ -1982,6 +2007,9 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
     58@@ -2002,6 +2027,9 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
    5959                ath9k_hw_set_radar_params(ah); 
    6060        } 
  • trunk/package/kernel/mac80211/patches/545-ath9k_ani_ws_detect.patch

    r43208 r44655  
    11--- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c 
    22+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c 
    3 @@ -929,55 +929,6 @@ static bool ar5008_hw_ani_control_new(st 
     3@@ -944,55 +944,6 @@ static bool ar5008_hw_ani_control_new(st 
    44                 * on == 0 means more noise imm 
    55                 */ 
     
    5959--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c 
    6060+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c 
    61 @@ -26,20 +26,6 @@ static const int cycpwrThr1_table[] = 
     61@@ -41,20 +41,6 @@ static const int cycpwrThr1_table[] = 
    6262 /* level:  0   1   2   3   4   5   6   7   8  */ 
    6363        { -6, -4, -2,  0,  2,  4,  6,  8 };     /* lvl 0-7, default 3 */ 
     
    7777-static const int m2ThreshExt_off = 127; 
    7878- 
    79  /** 
    80   * ar9003_hw_set_channel - set channel on single-chip device 
    81   * @ah: atheros hardware structure 
    82 @@ -984,11 +970,6 @@ static bool ar9003_hw_ani_control(struct 
     79 static const u8 ofdm2pwr[] = { 
     80        ALL_TARGET_LEGACY_6_24, 
     81        ALL_TARGET_LEGACY_6_24, 
     82@@ -1090,11 +1076,6 @@ static bool ar9003_hw_ani_control(struct 
    8383        struct ath_common *common = ath9k_hw_common(ah); 
    8484        struct ath9k_channel *chan = ah->curchan; 
     
    9292  
    9393        switch (cmd & ah->ani_function) { 
    94 @@ -1002,61 +983,6 @@ static bool ar9003_hw_ani_control(struct 
     94@@ -1108,61 +1089,6 @@ static bool ar9003_hw_ani_control(struct 
    9595                 */ 
    9696                u32 on = param ? 1 : 0; 
  • trunk/package/kernel/mac80211/patches/600-0002-rt2x00-rt2800lib-introduce-RT2800_HAS_HIGH_SHARED_ME.patch

    r42683 r44655  
    2525--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    2626+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    27 @@ -7740,6 +7740,7 @@ static int rt2800_probe_rt(struct rt2x00 
     27@@ -7747,6 +7747,7 @@ static int rt2800_probe_rt(struct rt2x00 
    2828  
    2929 int rt2800_probe_hw(struct rt2x00_dev *rt2x00dev) 
     
    3333        u32 reg; 
    3434  
    35 @@ -7747,6 +7748,9 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
     35@@ -7754,6 +7755,9 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
    3636        if (retval) 
    3737                return retval; 
  • trunk/package/kernel/mac80211/patches/600-0003-rt2x00-rt2800-serialize-shared-memory-access.patch

    r42683 r44655  
    188188  
    189189        /* 
    190 @@ -4901,14 +4934,19 @@ static int rt2800_init_registers(struct  
     190@@ -4908,14 +4941,19 @@ static int rt2800_init_registers(struct  
    191191        /* 
    192192         * ASIC will keep garbage value after boot, clear encryption keys. 
     
    208208  
    209209        /* 
    210 @@ -5034,8 +5072,10 @@ static int rt2800_wait_bbp_ready(struct  
     210@@ -5041,8 +5079,10 @@ static int rt2800_wait_bbp_ready(struct  
    211211         * BBP was enabled after firmware was loaded, 
    212212         * but we need to reactivate it now. 
     
    219219  
    220220        for (i = 0; i < REGISTER_BUSY_COUNT; i++) { 
    221 @@ -6731,11 +6771,19 @@ int rt2800_enable_radio(struct rt2x00_de 
     221@@ -6738,11 +6778,19 @@ int rt2800_enable_radio(struct rt2x00_de 
    222222        /* 
    223223         * Send signal during boot time to initialize firmware. 
     
    240240  
    241241        /* 
    242 @@ -7744,6 +7792,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
     242@@ -7751,6 +7799,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
    243243        int retval; 
    244244        u32 reg; 
     
    249249        if (retval) 
    250250                return retval; 
    251 @@ -7823,8 +7873,11 @@ void rt2800_get_tkip_seq(struct ieee8021 
     251@@ -7830,8 +7880,11 @@ void rt2800_get_tkip_seq(struct ieee8021 
    252252        u32 offset; 
    253253  
  • trunk/package/kernel/mac80211/patches/600-0005-rt2x00-rt2800lib-add-hw_beacon_count-field-to-struct.patch

    r42683 r44655  
    2525--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    2626+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    27 @@ -4631,6 +4631,7 @@ EXPORT_SYMBOL_GPL(rt2800_link_tuner); 
     27@@ -4638,6 +4638,7 @@ EXPORT_SYMBOL_GPL(rt2800_link_tuner); 
    2828  */ 
    2929 static int rt2800_init_registers(struct rt2x00_dev *rt2x00dev) 
     
    3333        u16 eeprom; 
    3434        unsigned int i; 
    35 @@ -4996,7 +4997,7 @@ static int rt2800_init_registers(struct  
     35@@ -5003,7 +5004,7 @@ static int rt2800_init_registers(struct  
    3636        /* 
    3737         * Clear all beacons 
     
    4242  
    4343        if (rt2x00_is_usb(rt2x00dev)) { 
    44 @@ -7845,6 +7846,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
     44@@ -7852,6 +7853,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
    4545        if (rt2x00_rt(rt2x00dev, RT3593)) 
    4646                __set_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); 
  • trunk/package/kernel/mac80211/patches/600-0006-rt2x00-rt2800lib-init-additional-beacon-offset-regis.patch

    r42683 r44655  
    3535--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    3636+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    37 @@ -4643,6 +4643,30 @@ static int rt2800_init_registers(struct  
     37@@ -4650,6 +4650,30 @@ static int rt2800_init_registers(struct  
    3838        if (ret) 
    3939                return ret; 
  • trunk/package/kernel/mac80211/patches/600-0007-rt2x00-rt2800lib-fix-max-supported-beacon-count-for-.patch

    r42683 r44655  
    1111--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1212+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    13 @@ -7870,7 +7870,10 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
     13@@ -7877,7 +7877,10 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
    1414        if (rt2x00_rt(rt2x00dev, RT3593)) 
    1515                __set_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); 
  • trunk/package/kernel/mac80211/patches/600-0009-rt2x00-rt2800lib-enable-support-for-RT3883.patch

    r42683 r44655  
    1111--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1212+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    13 @@ -7840,6 +7840,7 @@ static int rt2800_probe_rt(struct rt2x00 
     13@@ -7847,6 +7847,7 @@ static int rt2800_probe_rt(struct rt2x00 
    1414        case RT3390: 
    1515        case RT3572: 
  • trunk/package/kernel/mac80211/patches/600-0010-rt2x00-rt2800lib-add-rf_vals-for-RF3853.patch

    r42683 r44655  
    3232--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    3333+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    34 @@ -7458,6 +7458,66 @@ static const struct rf_channel rf_vals_3 
     34@@ -7465,6 +7465,66 @@ static const struct rf_channel rf_vals_3 
    3535        {173, 0x61, 0, 9}, 
    3636 }; 
     
    9999        /* Channel, N, K, mod, R */ 
    100100        {1, 482, 4, 10, 3}, 
    101 @@ -7687,6 +7747,11 @@ static int rt2800_probe_hw_mode(struct r 
     101@@ -7694,6 +7754,11 @@ static int rt2800_probe_hw_mode(struct r 
    102102                spec->channels = rf_vals_3x; 
    103103                break; 
  • trunk/package/kernel/mac80211/patches/600-0011-rt2x00-rt2800lib-enable-VCO-calibration-for-RF3853.patch

    r42683 r44655  
    1111--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1212+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    13 @@ -4395,6 +4395,7 @@ void rt2800_vco_calibration(struct rt2x0 
     13@@ -4402,6 +4402,7 @@ void rt2800_vco_calibration(struct rt2x0 
    1414        case RF3053: 
    1515        case RF3070: 
     
    1919        case RF5362: 
    2020        case RF5370: 
    21 @@ -7866,6 +7867,7 @@ static int rt2800_probe_hw_mode(struct r 
     21@@ -7873,6 +7874,7 @@ static int rt2800_probe_hw_mode(struct r 
    2222        case RF3053: 
    2323        case RF3070: 
  • trunk/package/kernel/mac80211/patches/600-0013-rt2x00-rt2800lib-enable-RF3853-support.patch

    r42683 r44655  
    1111--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1212+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    13 @@ -7423,6 +7423,7 @@ static int rt2800_init_eeprom(struct rt2 
     13@@ -7430,6 +7430,7 @@ static int rt2800_init_eeprom(struct rt2 
    1414        case RF3290: 
    1515        case RF3320: 
  • trunk/package/kernel/mac80211/patches/600-0014-rt2x00-rt2800lib-add-MAC-register-initialization-for.patch

    r42683 r44655  
    3636--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    3737+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    38 @@ -4998,6 +4998,12 @@ static int rt2800_init_registers(struct  
     38@@ -5005,6 +5005,12 @@ static int rt2800_init_registers(struct  
    3939                        rt2800_register_write(rt2x00dev, TX_SW_CFG2, 
    4040                                              0x00000000); 
     
    4949                   rt2x00_rt(rt2x00dev, RT5392) || 
    5050                   rt2x00_rt(rt2x00dev, RT5592)) { 
    51 @@ -5028,9 +5034,11 @@ static int rt2800_init_registers(struct  
     51@@ -5035,9 +5041,11 @@ static int rt2800_init_registers(struct  
    5252  
    5353        rt2800_register_read(rt2x00dev, MAX_LEN_CFG, &reg); 
     
    6464        else 
    6565                rt2x00_set_field32(&reg, MAX_LEN_CFG_MAX_PSDU, 1); 
    66 @@ -5183,6 +5191,11 @@ static int rt2800_init_registers(struct  
     66@@ -5190,6 +5198,11 @@ static int rt2800_init_registers(struct  
    6767        reg = rt2x00_rt(rt2x00dev, RT5592) ? 0x00000082 : 0x00000002; 
    6868        rt2800_register_write(rt2x00dev, TXOP_HLDR_ET, reg); 
  • trunk/package/kernel/mac80211/patches/600-0016-rt2x00-rt2800lib-add-BBP-register-initialization-for.patch

    r42683 r44655  
    1212--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1313+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    14 @@ -5801,6 +5801,47 @@ static void rt2800_init_bbp_3593(struct  
     14@@ -5808,6 +5808,47 @@ static void rt2800_init_bbp_3593(struct  
    1515                rt2800_bbp_write(rt2x00dev, 103, 0xc0); 
    1616 } 
     
    6060 { 
    6161        int ant, div_mode; 
    62 @@ -6019,6 +6060,9 @@ static void rt2800_init_bbp(struct rt2x0 
     62@@ -6026,6 +6067,9 @@ static void rt2800_init_bbp(struct rt2x0 
    6363        case RT3593: 
    6464                rt2800_init_bbp_3593(rt2x00dev); 
  • trunk/package/kernel/mac80211/patches/600-0017-rt2x00-rt2800lib-add-RFCSR-initialization-for-RT3883.patch

    r42683 r44655  
    2222--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    2323+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    24 @@ -6836,6 +6836,144 @@ static void rt2800_init_rfcsr_3593(struc 
     24@@ -6843,6 +6843,144 @@ static void rt2800_init_rfcsr_3593(struc 
    2525        /* TODO: enable stream mode support */ 
    2626 } 
     
    167167 { 
    168168        rt2800_rf_init_calibration(rt2x00dev, 2); 
    169 @@ -7067,6 +7205,9 @@ static void rt2800_init_rfcsr(struct rt2 
     169@@ -7074,6 +7212,9 @@ static void rt2800_init_rfcsr(struct rt2 
    170170        case RT3390: 
    171171                rt2800_init_rfcsr_3390(rt2x00dev); 
  • trunk/package/kernel/mac80211/patches/600-0019-rt2x00-rt2800lib-force-rf-type-to-RF3853-on-RT3883.patch

    r42683 r44655  
    1111--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1212+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    13 @@ -7604,6 +7604,8 @@ static int rt2800_init_eeprom(struct rt2 
     13@@ -7611,6 +7611,8 @@ static int rt2800_init_eeprom(struct rt2 
    1414            rt2x00_rt(rt2x00dev, RT5390) || 
    1515            rt2x00_rt(rt2x00dev, RT5392)) 
  • trunk/package/kernel/mac80211/patches/600-0022-rt2x00-rt2800lib-use-correct-txpower-calculation-fun.patch

    r42683 r44655  
    1212--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1313+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    14 @@ -4628,7 +4628,8 @@ static void rt2800_config_txpower(struct 
     14@@ -4635,7 +4635,8 @@ static void rt2800_config_txpower(struct 
    1515                                  struct ieee80211_channel *chan, 
    1616                                  int power_level) 
  • trunk/package/kernel/mac80211/patches/600-0023-rt2x00-rt2800lib-hardcode-txmixer-gain-values-to-zer.patch

    r42683 r44655  
    1212--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1313+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    14 @@ -7486,7 +7486,8 @@ static u8 rt2800_get_txmixer_gain_24g(st 
     14@@ -7493,7 +7493,8 @@ static u8 rt2800_get_txmixer_gain_24g(st 
    1515 { 
    1616        u16 word; 
     
    2222  
    2323        rt2800_eeprom_read(rt2x00dev, EEPROM_TXMIXER_GAIN_BG, &word); 
    24 @@ -7500,7 +7501,8 @@ static u8 rt2800_get_txmixer_gain_5g(str 
     24@@ -7507,7 +7508,8 @@ static u8 rt2800_get_txmixer_gain_5g(str 
    2525 { 
    2626        u16 word; 
  • trunk/package/kernel/mac80211/patches/600-0026-rt2x00-rt2800lib-use-correct-beacon-count-for-RT3883.patch

    r42683 r44655  
    1111--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1212+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    13 @@ -8421,7 +8421,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
     13@@ -8428,7 +8428,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
    1414        if (rt2x00_rt(rt2x00dev, RT3593)) 
    1515                __set_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags); 
  • trunk/package/kernel/mac80211/patches/600-0029-rt2x00-rt2800lib-fix-VGC-setup-for-RT3883.patch

    r42683 r44655  
    1111--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1212+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    13 @@ -4828,7 +4828,8 @@ static u8 rt2800_get_default_vgc(struct  
     13@@ -4835,7 +4835,8 @@ static u8 rt2800_get_default_vgc(struct  
    1414                else 
    1515                        vgc = 0x2e + rt2x00dev->lna_gain; 
     
    2121                else if (rt2x00_rt(rt2x00dev, RT5592)) 
    2222                        vgc = 0x24 + (2 * rt2x00dev->lna_gain); 
    23 @@ -4848,7 +4849,8 @@ static inline void rt2800_set_vgc(struct 
     23@@ -4855,7 +4856,8 @@ static inline void rt2800_set_vgc(struct 
    2424 { 
    2525        if (qual->vgc_level != vgc_level) { 
     
    3131                                                       vgc_level); 
    3232                } else if (rt2x00_rt(rt2x00dev, RT5592)) { 
    33 @@ -4895,6 +4897,11 @@ void rt2800_link_tuner(struct rt2x00_dev 
     33@@ -4902,6 +4904,11 @@ void rt2800_link_tuner(struct rt2x00_dev 
    3434                } 
    3535                break; 
  • trunk/package/kernel/mac80211/patches/600-0030-rt2x00-rt2800lib-fix-EEPROM-LNA-validation-for-RT388.patch

    r42683 r44655  
    1111--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1212+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    13 @@ -7623,7 +7623,8 @@ static int rt2800_validate_eeprom(struct 
     13@@ -7630,7 +7630,8 @@ static int rt2800_validate_eeprom(struct 
    1414        rt2800_eeprom_read(rt2x00dev, EEPROM_RSSI_BG2, &word); 
    1515        if (abs(rt2x00_get_field16(word, EEPROM_RSSI_BG2_OFFSET2)) > 10) 
     
    2121                    rt2x00_get_field16(word, EEPROM_RSSI_BG2_LNA_A1) == 0xff) 
    2222                        rt2x00_set_field16(&word, EEPROM_RSSI_BG2_LNA_A1, 
    23 @@ -7643,7 +7644,8 @@ static int rt2800_validate_eeprom(struct 
     23@@ -7650,7 +7651,8 @@ static int rt2800_validate_eeprom(struct 
    2424        rt2800_eeprom_read(rt2x00dev, EEPROM_RSSI_A2, &word); 
    2525        if (abs(rt2x00_get_field16(word, EEPROM_RSSI_A2_OFFSET2)) > 10) 
     
    3131                    rt2x00_get_field16(word, EEPROM_RSSI_A2_LNA_A2) == 0xff) 
    3232                        rt2x00_set_field16(&word, EEPROM_RSSI_A2_LNA_A2, 
    33 @@ -7651,7 +7653,8 @@ static int rt2800_validate_eeprom(struct 
     33@@ -7658,7 +7660,8 @@ static int rt2800_validate_eeprom(struct 
    3434        } 
    3535        rt2800_eeprom_write(rt2x00dev, EEPROM_RSSI_A2, word); 
  • trunk/package/kernel/mac80211/patches/600-0032-rt2x00-rt2800lib-enable-RT2800_HAS_HIGH_SHARED_MEM-f.patch

    r42683 r44655  
    1212--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    1313+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    14 @@ -8434,7 +8434,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
     14@@ -8441,7 +8441,8 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
    1515        if (retval) 
    1616                return retval; 
  • trunk/package/kernel/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch

    r43210 r44655  
    11--- a/.local-symbols 
    22+++ b/.local-symbols 
    3 @@ -289,6 +289,7 @@ RT2X00_LIB_FIRMWARE= 
     3@@ -263,6 +263,7 @@ RT2X00_LIB_FIRMWARE= 
    44 RT2X00_LIB_CRYPTO= 
    55 RT2X00_LIB_LEDS= 
     
    2929@@ -266,6 +268,9 @@ config RT2X00_LIB_FIRMWARE 
    3030 config RT2X00_LIB_CRYPTO 
    31         boolean 
     31        bool 
    3232  
    3333+config RT2X00_LIB_EEPROM 
     
    3535+ 
    3636 config RT2X00_LIB_LEDS 
    37         boolean 
     37        bool 
    3838        default y if (RT2X00_LIB=y && LEDS_CLASS=y) || (RT2X00_LIB=m && LEDS_CLASS!=n) 
    3939--- a/drivers/net/wireless/rt2x00/Makefile 
  • trunk/package/kernel/mac80211/patches/608-add_platform_data_mac_addr.patch

    r42683 r44655  
    3232--- a/drivers/net/wireless/rt2x00/rt2x00.h 
    3333+++ b/drivers/net/wireless/rt2x00/rt2x00.h 
    34 @@ -1407,6 +1407,7 @@ static inline void rt2x00debug_dump_fram 
     34@@ -1410,6 +1410,7 @@ static inline void rt2x00debug_dump_fram 
    3535  */ 
    3636 u32 rt2x00lib_get_bssidx(struct rt2x00_dev *rt2x00dev, 
  • trunk/package/kernel/mac80211/patches/610-rt2x00-fix-rt3352-ext-pa.patch

    r42683 r44655  
    2020                if (rf->channel > 14) { 
    2121                        /* Disable CCK Packet detection on 5GHz */ 
    22 @@ -6611,6 +6618,12 @@ static void rt2800_init_rfcsr_3290(struc 
     22@@ -6618,6 +6625,12 @@ static void rt2800_init_rfcsr_3290(struc 
    2323  
    2424 static void rt2800_init_rfcsr_3352(struct rt2x00_dev *rt2x00dev) 
     
    3333  
    3434        rt2800_rfcsr_write(rt2x00dev, 0, 0xf0); 
    35 @@ -6646,15 +6659,30 @@ static void rt2800_init_rfcsr_3352(struc 
     35@@ -6653,15 +6666,30 @@ static void rt2800_init_rfcsr_3352(struc 
    3636        rt2800_rfcsr_write(rt2x00dev, 31, 0x80); 
    3737        rt2800_rfcsr_write(rt2x00dev, 32, 0x80); 
     
    6767        rt2800_rfcsr_write(rt2x00dev, 44, 0xdb); 
    6868        rt2800_rfcsr_write(rt2x00dev, 45, 0xdb); 
    69 @@ -6662,15 +6690,20 @@ static void rt2800_init_rfcsr_3352(struc 
     69@@ -6669,15 +6697,20 @@ static void rt2800_init_rfcsr_3352(struc 
    7070        rt2800_rfcsr_write(rt2x00dev, 47, 0x0d); 
    7171        rt2800_rfcsr_write(rt2x00dev, 48, 0x14); 
     
    9797        rt2800_rfcsr_write(rt2x00dev, 60, 0x00); 
    9898        rt2800_rfcsr_write(rt2x00dev, 61, 0x00); 
    99 @@ -7691,6 +7724,7 @@ static int rt2800_init_eeprom(struct rt2 
     99@@ -7698,6 +7731,7 @@ static int rt2800_init_eeprom(struct rt2 
    100100         * RT53xx: defined in "EEPROM_CHIP_ID" field 
    101101         */ 
     
    105105            rt2x00_rt(rt2x00dev, RT5392)) 
    106106                rt2800_eeprom_read(rt2x00dev, EEPROM_CHIP_ID, &rf); 
    107 @@ -7786,7 +7820,8 @@ static int rt2800_init_eeprom(struct rt2 
     107@@ -7793,7 +7827,8 @@ static int rt2800_init_eeprom(struct rt2 
    108108        /* 
    109109         * Detect if this device has Bluetooth co-existence. 
     
    115115  
    116116        /* 
    117 @@ -7815,6 +7850,22 @@ static int rt2800_init_eeprom(struct rt2 
     117@@ -7822,6 +7857,22 @@ static int rt2800_init_eeprom(struct rt2 
    118118                                        EIRP_MAX_TX_POWER_LIMIT) 
    119119                __set_bit(CAPABILITY_POWER_LIMIT, &rt2x00dev->cap_flags); 
  • trunk/package/kernel/mac80211/patches/611-rt2x00-rf_vals-rt3352-xtal20.patch

    r42683 r44655  
    11--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    22+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    3 @@ -8202,6 +8202,27 @@ static const struct rf_channel rf_vals_5 
     3@@ -8209,6 +8209,27 @@ static const struct rf_channel rf_vals_5 
    44        {196, 83, 0, 12, 1}, 
    55 }; 
     
    2929 { 
    3030        struct hw_mode_spec *spec = &rt2x00dev->spec; 
    31 @@ -8290,7 +8311,10 @@ static int rt2800_probe_hw_mode(struct r 
     31@@ -8297,7 +8318,10 @@ static int rt2800_probe_hw_mode(struct r 
    3232        case RF5390: 
    3333        case RF5392: 
     
    4141  
    4242        case RF3052: 
    43 @@ -8474,6 +8498,19 @@ static int rt2800_probe_rt(struct rt2x00 
     43@@ -8481,6 +8505,19 @@ static int rt2800_probe_rt(struct rt2x00 
    4444        return 0; 
    4545 } 
     
    6161 { 
    6262        struct rt2800_drv_data *drv_data = rt2x00dev->drv_data; 
    63 @@ -8516,6 +8553,15 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
     63@@ -8523,6 +8560,15 @@ int rt2800_probe_hw(struct rt2x00_dev *r 
    6464        rt2800_register_write(rt2x00dev, GPIO_CTRL, reg); 
    6565  
  • trunk/package/kernel/mac80211/patches/612-rt2x00-make-wmac-loadable-via-OF-on-rt288x-305x-SoC.patch

    r40559 r44655  
    1414--- a/drivers/net/wireless/rt2x00/rt2800soc.c 
    1515+++ b/drivers/net/wireless/rt2x00/rt2800soc.c 
    16 @@ -237,11 +237,18 @@ static int rt2800soc_probe(struct platfo 
     16@@ -237,10 +237,17 @@ static int rt2800soc_probe(struct platfo 
    1717        return rt2x00soc_probe(pdev, &rt2800soc_ops); 
    1818 } 
     
    2727        .driver         = { 
    2828                .name           = "rt2800_wmac", 
    29                 .owner          = THIS_MODULE, 
    3029                .mod_name       = KBUILD_MODNAME, 
    3130+               .of_match_table = rt2880_wmac_match, 
  • trunk/package/kernel/mac80211/patches/615-rt2x00-fix_20mhz_clk.patch

    r42683 r44655  
    99 #include "rt2x00.h" 
    1010 #include "rt2800lib.h" 
    11 @@ -8500,13 +8501,14 @@ static int rt2800_probe_rt(struct rt2x00 
     11@@ -8507,13 +8508,14 @@ static int rt2800_probe_rt(struct rt2x00 
    1212  
    1313 int rt2800_probe_clk(struct rt2x00_dev *rt2x00dev) 
  • trunk/package/kernel/mac80211/patches/616-rt2x00-support-rt5350.patch

    r42683 r44655  
    5151                rt2x00_set_field8(&bbp, BBP49_UPDATE_FLAG, 0); 
    5252                rt2800_bbp_write(rt2x00dev, 49, bbp); 
    53 @@ -4691,6 +4701,7 @@ void rt2800_vco_calibration(struct rt2x0 
     53@@ -4698,6 +4708,7 @@ void rt2800_vco_calibration(struct rt2x0 
    5454        case RF3070: 
    5555        case RF3290: 
     
    5959        case RF5362: 
    6060        case RF5370: 
    61 @@ -5104,6 +5115,8 @@ static int rt2800_init_registers(struct  
     61@@ -5111,6 +5122,8 @@ static int rt2800_init_registers(struct  
    6262                rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000404); 
    6363                rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x00080606); 
     
    6868                rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000000); 
    6969                rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x00080606); 
    70 @@ -5759,9 +5772,13 @@ static void rt2800_init_bbp_3352(struct  
     70@@ -5766,9 +5779,13 @@ static void rt2800_init_bbp_3352(struct  
    7171  
    7272        rt2800_bbp_write(rt2x00dev, 82, 0x62); 
     
    8585        rt2800_bbp_write(rt2x00dev, 86, 0x38); 
    8686  
    87 @@ -5775,9 +5792,13 @@ static void rt2800_init_bbp_3352(struct  
     87@@ -5782,9 +5799,13 @@ static void rt2800_init_bbp_3352(struct  
    8888  
    8989        rt2800_bbp_write(rt2x00dev, 104, 0x92); 
     
    102102        rt2800_bbp_write(rt2x00dev, 120, 0x50); 
    103103  
    104 @@ -5802,6 +5823,13 @@ static void rt2800_init_bbp_3352(struct  
     104@@ -5809,6 +5830,13 @@ static void rt2800_init_bbp_3352(struct  
    105105        rt2800_bbp_write(rt2x00dev, 143, 0xa2); 
    106106  
     
    116116  
    117117 static void rt2800_init_bbp_3390(struct rt2x00_dev *rt2x00dev) 
    118 @@ -6143,6 +6171,7 @@ static void rt2800_init_bbp(struct rt2x0 
     118@@ -6150,6 +6178,7 @@ static void rt2800_init_bbp(struct rt2x0 
    119119                rt2800_init_bbp_3290(rt2x00dev); 
    120120                break; 
     
    124124                break; 
    125125        case RT3390: 
    126 @@ -7094,6 +7123,76 @@ static void rt2800_init_rfcsr_3883(struc 
     126@@ -7101,6 +7130,76 @@ static void rt2800_init_rfcsr_3883(struc 
    127127        rt2800_rfcsr_write(rt2x00dev, 20, rfcsr); 
    128128 } 
     
    201201 { 
    202202        rt2800_rf_init_calibration(rt2x00dev, 2); 
    203 @@ -7334,6 +7433,9 @@ static void rt2800_init_rfcsr(struct rt2 
     203@@ -7341,6 +7440,9 @@ static void rt2800_init_rfcsr(struct rt2 
    204204        case RT3593: 
    205205                rt2800_init_rfcsr_3593(rt2x00dev); 
     
    211211                rt2800_init_rfcsr_5390(rt2x00dev); 
    212212                break; 
    213 @@ -7593,6 +7695,12 @@ static int rt2800_validate_eeprom(struct 
     213@@ -7600,6 +7702,12 @@ static int rt2800_validate_eeprom(struct 
    214214                rt2x00_set_field16(&word, EEPROM_NIC_CONF0_RF_TYPE, RF2820); 
    215215                rt2800_eeprom_write(rt2x00dev, EEPROM_NIC_CONF0, word); 
     
    224224                   rt2x00_rt(rt2x00dev, RT2872)) { 
    225225                /* 
    226 @@ -7731,6 +7839,8 @@ static int rt2800_init_eeprom(struct rt2 
     226@@ -7738,6 +7846,8 @@ static int rt2800_init_eeprom(struct rt2 
    227227                rt2800_eeprom_read(rt2x00dev, EEPROM_CHIP_ID, &rf); 
    228228        else if (rt2x00_rt(rt2x00dev, RT3883)) 
     
    233233                rf = rt2x00_get_field16(eeprom, EEPROM_NIC_CONF0_RF_TYPE); 
    234234  
    235 @@ -7750,6 +7860,7 @@ static int rt2800_init_eeprom(struct rt2 
     235@@ -7757,6 +7867,7 @@ static int rt2800_init_eeprom(struct rt2 
    236236        case RF3320: 
    237237        case RF3322: 
     
    241241        case RF5362: 
    242242        case RF5370: 
    243 @@ -8305,6 +8416,7 @@ static int rt2800_probe_hw_mode(struct r 
     243@@ -8312,6 +8423,7 @@ static int rt2800_probe_hw_mode(struct r 
    244244        case RF3290: 
    245245        case RF3320: 
     
    249249        case RF5362: 
    250250        case RF5370: 
    251 @@ -8444,6 +8556,7 @@ static int rt2800_probe_hw_mode(struct r 
     251@@ -8451,6 +8563,7 @@ static int rt2800_probe_hw_mode(struct r 
    252252        case RF3070: 
    253253        case RF3290: 
     
    257257        case RF5362: 
    258258        case RF5370: 
    259 @@ -8484,6 +8597,7 @@ static int rt2800_probe_rt(struct rt2x00 
     259@@ -8491,6 +8604,7 @@ static int rt2800_probe_rt(struct rt2x00 
    260260        case RT3572: 
    261261        case RT3593: 
  • trunk/package/kernel/mac80211/patches/619-rt2x00-change-led-polarity-from-OF.patch

    r42683 r44655  
    99 #include "rt2x00.h" 
    1010 #include "rt2800lib.h" 
    11 @@ -7950,6 +7951,17 @@ static int rt2800_init_eeprom(struct rt2 
     11@@ -7957,6 +7958,17 @@ static int rt2800_init_eeprom(struct rt2 
    1212        rt2800_init_led(rt2x00dev, &rt2x00dev->led_assoc, LED_TYPE_ASSOC); 
    1313        rt2800_init_led(rt2x00dev, &rt2x00dev->led_qual, LED_TYPE_QUALITY); 
  • trunk/package/kernel/mac80211/patches/620-rt2x00-rt3352-rf-id.patch

    r42683 r44655  
    11--- a/drivers/net/wireless/rt2x00/rt2800lib.c 
    22+++ b/drivers/net/wireless/rt2x00/rt2800lib.c 
    3 @@ -7834,10 +7834,11 @@ static int rt2800_init_eeprom(struct rt2 
     3@@ -7841,10 +7841,11 @@ static int rt2800_init_eeprom(struct rt2 
    44         * RT53xx: defined in "EEPROM_CHIP_ID" field 
    55         */ 
  • trunk/package/kernel/mac80211/patches/700-mwl8k-missing-pci-id-for-WNR854T.patch

    r42683 r44655  
    11--- a/drivers/net/wireless/mwl8k.c 
    22+++ b/drivers/net/wireless/mwl8k.c 
    3 @@ -5675,6 +5675,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw") 
     3@@ -5678,6 +5678,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw") 
    44 MODULE_FIRMWARE(MWL8K_8366_AP_FW(MWL8K_8366_AP_FW_API)); 
    55  
  • trunk/package/kernel/mac80211/patches/801-libertas-configure-sysfs-links.patch

    r44174 r44655  
    1111  
    1212--- a/drivers/net/wireless/libertas/main.c 
    13 +++ a/drivers/net/wireless/libertas/main.c 
     13+++ b/drivers/net/wireless/libertas/main.c 
    1414@@ -987,6 +987,7 @@ struct lbs_private *lbs_add_card(void *c 
    1515                goto err_adapter; 
  • trunk/package/kernel/mac80211/patches/802-libertas-set-wireless-macaddr.patch

    r44175 r44655  
    11--- a/drivers/net/wireless/libertas/cfg.c 
    22+++ b/drivers/net/wireless/libertas/cfg.c 
    3 @@ -2172,6 +2172,8 @@ int lbs_cfg_register(struct lbs_private 
     3@@ -2174,6 +2174,8 @@ int lbs_cfg_register(struct lbs_private  
    44        wdev->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); 
    55        wdev->wiphy->reg_notifier = lbs_reg_notifier; 
  • trunk/package/kernel/mac80211/patches/805-b43-gpio-mask-module-option.patch

    r42683 r44655  
    11--- a/drivers/net/wireless/b43/b43.h 
    22+++ b/drivers/net/wireless/b43/b43.h 
    3 @@ -837,6 +837,7 @@ struct b43_wldev { 
     3@@ -839,6 +839,7 @@ struct b43_wldev { 
    44        bool qos_enabled;               /* TRUE, if QoS is used. */ 
    55        bool hwcrypto_enabled;          /* TRUE, if HW crypto acceleration is enabled. */ 
     
    2323 module_param_named(bad_frames_preempt, modparam_bad_frames_preempt, int, 0444); 
    2424 MODULE_PARM_DESC(bad_frames_preempt, 
    25 @@ -2844,10 +2849,10 @@ static int b43_gpio_init(struct b43_wlde 
     25@@ -2882,10 +2887,10 @@ static int b43_gpio_init(struct b43_wlde 
    2626        u32 mask, set; 
    2727  
  • trunk/package/kernel/mac80211/patches/810-b43_no_pio.patch

    r42683 r44655  
    11--- a/drivers/net/wireless/b43/Makefile 
    22+++ b/drivers/net/wireless/b43/Makefile 
    3 @@ -16,7 +16,7 @@ b43-$(CPTCFG_B43_PHY_LCN)     += phy_lcn.o t 
     3@@ -17,7 +17,7 @@ b43-$(CPTCFG_B43_PHY_AC)      += phy_ac.o 
    44 b43-y                          += sysfs.o 
    55 b43-y                          += xmit.o 
     
    1212--- a/drivers/net/wireless/b43/main.c 
    1313+++ b/drivers/net/wireless/b43/main.c 
    14 @@ -1970,10 +1970,12 @@ static void b43_do_interrupt_thread(stru 
     14@@ -2008,10 +2008,12 @@ static void b43_do_interrupt_thread(stru 
    1515                        dma_reason[0], dma_reason[1], 
    1616                        dma_reason[2], dma_reason[3], 
  • trunk/package/kernel/mac80211/patches/820-b43-add-antenna-control.patch

    r42683 r44655  
    11--- a/drivers/net/wireless/b43/main.c 
    22+++ b/drivers/net/wireless/b43/main.c 
    3 @@ -1617,7 +1617,7 @@ static void b43_write_beacon_template(st 
     3@@ -1648,7 +1648,7 @@ static void b43_write_beacon_template(st 
    44                                  len, ram_offset, shm_size_offset, rate); 
    55  
     
    1010        ctl = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_BEACPHYCTL); 
    1111        /* We can't send beacons with short preamble. Would get PHY errors. */ 
    12 @@ -3264,8 +3264,8 @@ static int b43_chip_init(struct b43_wlde 
     12@@ -3302,8 +3302,8 @@ static int b43_chip_init(struct b43_wlde 
    1313  
    1414        /* Select the antennae */ 
     
    2121        if (phy->type == B43_PHYTYPE_B) { 
    2222                value16 = b43_read16(dev, 0x005E); 
    23 @@ -3965,7 +3965,6 @@ static int b43_op_config(struct ieee8021 
     23@@ -4003,7 +4003,6 @@ static int b43_op_config(struct ieee8021 
    2424        struct b43_wldev *dev = wl->current_dev; 
    2525        struct b43_phy *phy = &dev->phy; 
     
    2929  
    3030        mutex_lock(&wl->mutex); 
    31 @@ -4008,11 +4007,9 @@ static int b43_op_config(struct ieee8021 
     31@@ -4046,11 +4045,9 @@ static int b43_op_config(struct ieee8021 
    3232        } 
    3333  
     
    4343        if (wl->radio_enabled != phy->radio_on) { 
    4444                if (wl->radio_enabled) { 
    45 @@ -5162,6 +5159,47 @@ static int b43_op_get_survey(struct ieee 
     45@@ -5213,6 +5210,47 @@ static int b43_op_get_survey(struct ieee 
    4646        return 0; 
    4747 } 
     
    9191        .tx                     = b43_op_tx, 
    9292        .conf_tx                = b43_op_conf_tx, 
    93 @@ -5183,6 +5221,8 @@ static const struct ieee80211_ops b43_hw 
     93@@ -5234,6 +5272,8 @@ static const struct ieee80211_ops b43_hw 
    9494        .sw_scan_complete       = b43_op_sw_scan_complete_notifier, 
    9595        .get_survey             = b43_op_get_survey, 
     
    100100  
    101101 /* Hard-reset the chip. Do not call this directly. 
    102 @@ -5486,6 +5526,8 @@ static int b43_one_core_attach(struct b4 
     102@@ -5538,6 +5578,8 @@ static int b43_one_core_attach(struct b4 
    103103        if (!wldev) 
    104104                goto out; 
     
    109109        wldev->dev = dev; 
    110110        wldev->wl = wl; 
    111 @@ -5576,6 +5618,9 @@ static struct b43_wl *b43_wireless_init( 
     111@@ -5628,6 +5670,9 @@ static struct b43_wl *b43_wireless_init( 
    112112  
    113113        hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN; 
     
    121121--- a/drivers/net/wireless/b43/b43.h 
    122122+++ b/drivers/net/wireless/b43/b43.h 
    123 @@ -838,6 +838,8 @@ struct b43_wldev { 
     123@@ -840,6 +840,8 @@ struct b43_wldev { 
    124124        bool hwcrypto_enabled;          /* TRUE, if HW crypto acceleration is enabled. */ 
    125125        bool use_pio;                   /* TRUE if next init should use PIO */ 
  • trunk/package/kernel/mac80211/patches/845-b43-only-use-gpio-0-1-for-led.patch

    r42683 r44655  
    11--- a/drivers/net/wireless/b43/main.c 
    22+++ b/drivers/net/wireless/b43/main.c 
    3 @@ -2861,6 +2861,14 @@ static int b43_gpio_init(struct b43_wlde 
     3@@ -2899,6 +2899,14 @@ static int b43_gpio_init(struct b43_wlde 
    44        } else if (dev->dev->chip_id == 0x5354) { 
    55                /* Don't allow overtaking buttons GPIOs */ 
  • trunk/package/kernel/mac80211/patches/910-01-add-support-for-mt7620.patch

    r44222 r44655  
    7474        rt2800_regbusy_read((__dev), RF_CSR_CFG0, RF_CSR_CFG0_BUSY, (__reg)) 
    7575 #define WAIT_FOR_MCU(__dev, __reg) \ 
    76 @@ -186,19 +188,55 @@ 
     76@@ -186,19 +188,55 @@ static void rt2800_rfcsr_write(struct rt 
    7777         * Wait until the RFCSR becomes available, afterwards we 
    7878         * can safely write the new data into the register. 
     
    137137                              const unsigned int word, u8 *value) 
    138138 { 
    139 @@ -214,22 +252,47 @@ 
     139@@ -214,22 +252,47 @@ static void rt2800_rfcsr_read(struct rt2 
    140140         * doesn't become available in time, reg will be 0xffffffff 
    141141         * which means we return 0xff to the caller. 
     
    194194                            const unsigned int word, const u32 value) 
    195195 { 
    196 @@ -566,6 +629,16 @@ 
     196@@ -566,6 +629,16 @@ void rt2800_get_txwi_rxwi_size(struct rt 
    197197                *rxwi_size = RXWI_DESC_SIZE_5WORDS; 
    198198                break; 
     
    211211                *txwi_size = TXWI_DESC_SIZE_5WORDS; 
    212212                *rxwi_size = RXWI_DESC_SIZE_6WORDS; 
    213 @@ -3326,6 +3399,312 @@ 
     213@@ -3326,6 +3399,312 @@ static void rt2800_config_channel_rf55xx 
    214214        rt2800_bbp_write(rt2x00dev, 196, (rf->channel <= 14) ? 0x19 : 0x7F); 
    215215 } 
     
    524524                                           const unsigned int word, 
    525525                                           const u8 value) 
    526 @@ -3482,7 +3861,7 @@ 
     526@@ -3482,7 +3861,7 @@ static void rt2800_config_channel(struct 
    527527                                  struct channel_info *info) 
    528528 { 
     
    533533  
    534534        info->default_power1 = rt2800_txpower_to_dev(rt2x00dev, rf->channel, 
    535 @@ -3536,6 +3915,9 @@ 
     535@@ -3536,6 +3915,9 @@ static void rt2800_config_channel(struct 
    536536        case RF5592: 
    537537                rt2800_config_channel_rf55xx(rt2x00dev, conf, rf, info); 
     
    543543                rt2800_config_channel_rf2xxx(rt2x00dev, conf, rf, info); 
    544544        } 
    545 @@ -3638,7 +4020,7 @@ 
     545@@ -3638,7 +4020,7 @@ static void rt2800_config_channel(struct 
    546546                else if (rt2x00_rt(rt2x00dev, RT3593) || 
    547547                         rt2x00_rt(rt2x00dev, RT3883)) 
     
    552552  
    553553                if (rt2x00_rt(rt2x00dev, RT3593) || 
    554 @@ -3660,7 +4042,7 @@ 
     554@@ -3660,7 +4042,7 @@ static void rt2800_config_channel(struct 
    555555        if (rt2x00_rt(rt2x00dev, RT3572)) 
    556556                rt2800_rfcsr_write(rt2x00dev, 8, 0); 
     
    561561        switch (rt2x00dev->default_ant.tx_chain_num) { 
    562562        case 3: 
    563 @@ -3709,6 +4091,7 @@ 
     563@@ -3709,6 +4091,7 @@ static void rt2800_config_channel(struct 
    564564  
    565565        rt2x00_set_field32(&tx_pin, TX_PIN_CFG_RFTR_EN, 1); 
     
    569569        rt2800_register_write(rt2x00dev, TX_PIN_CFG, tx_pin); 
    570570  
    571 @@ -4718,6 +5101,14 @@ 
     571@@ -4725,6 +5108,14 @@ void rt2800_vco_calibration(struct rt2x0 
    572572                rt2x00_set_field8(&rfcsr, RFCSR3_VCOCAL_EN, 1); 
    573573                rt2800_rfcsr_write(rt2x00dev, 3, rfcsr); 
     
    584584                return; 
    585585        } 
    586 @@ -5118,9 +5509,42 @@ 
     586@@ -5125,9 +5516,42 @@ static int rt2800_init_registers(struct  
    587587        } else if (rt2x00_rt(rt2x00dev, RT5390) || 
    588588                   rt2x00_rt(rt2x00dev, RT5392) || 
     
    630630                rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000404); 
    631631        } else { 
    632 @@ -6152,6 +6576,225 @@ 
     632@@ -6159,6 +6583,225 @@ static void rt2800_init_bbp_5592(struct  
    633633                rt2800_bbp_write(rt2x00dev, 103, 0xc0); 
    634634 } 
     
    856856 { 
    857857        unsigned int i; 
    858 @@ -6194,7 +6837,10 @@ 
     858@@ -6201,7 +6844,10 @@ static void rt2800_init_bbp(struct rt2x0 
    859859                return; 
    860860        case RT5390: 
     
    868868        case RT5592: 
    869869                rt2800_init_bbp_5592(rt2x00dev); 
    870 @@ -7408,6 +8054,295 @@ 
     870@@ -7415,6 +8061,295 @@ static void rt2800_init_rfcsr_5592(struc 
    871871        rt2800_led_open_drain_enable(rt2x00dev); 
    872872 } 
     
    11641164 { 
    11651165        if (rt2800_is_305x_soc(rt2x00dev)) { 
    1166 @@ -7443,7 +8378,10 @@ 
     1166@@ -7450,7 +8385,10 @@ static void rt2800_init_rfcsr(struct rt2 
    11671167                rt2800_init_rfcsr_5350(rt2x00dev); 
    11681168                break; 
     
    11761176        case RT5392: 
    11771177                rt2800_init_rfcsr_5392(rt2x00dev); 
    1178 @@ -7875,6 +8813,7 @@ 
     1178@@ -7882,6 +8820,7 @@ static int rt2800_init_eeprom(struct rt2 
    11791179        case RF5390: 
    11801180        case RF5392: 
     
    11841184        default: 
    11851185                rt2x00_err(rt2x00dev, "Invalid RF chipset 0x%04x detected\n", 
    1186 @@ -8441,6 +9380,7 @@ 
     1186@@ -8448,6 +9387,7 @@ static int rt2800_probe_hw_mode(struct r 
    11871187        case RF5372: 
    11881188        case RF5390: 
     
    11921192                if (spec->clk_is_20mhz) 
    11931193                        spec->channels = rf_vals_xtal20mhz_3x; 
    1194 @@ -8581,6 +9521,7 @@ 
     1194@@ -8588,6 +9528,7 @@ static int rt2800_probe_hw_mode(struct r 
    11951195        case RF5372: 
    11961196        case RF5390: 
  • trunk/package/kernel/mac80211/patches/920-ath10k_allow_fallback_to_board_bin_on_empty_otp_stream.patch

    r43210 r44655  
    11--- a/drivers/net/wireless/ath/ath10k/core.c 
    22+++ b/drivers/net/wireless/ath/ath10k/core.c 
    3 @@ -280,7 +280,10 @@ static int ath10k_download_and_run_otp(s 
     3@@ -387,9 +387,14 @@ static int ath10k_download_and_run_otp(s 
    44  
    55        ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot otp execute result %d\n", result); 
    66  
    7 -       if (result != 0) { 
    8 +       if (result == 2) { 
    9 +               ath10k_warn(ar, "otp stream is empty, using board.bin contents"); 
    10 +               return 0; 
    11 +       } else if (result != 0) { 
    12                 ath10k_err(ar, "otp calibration failed: %d", result); 
    13                 return -EINVAL; 
     7-       if (!skip_otp && result != 0) { 
     8-               ath10k_err(ar, "otp calibration failed: %d", result); 
     9-               return -EINVAL; 
     10+       if (!skip_otp) { 
     11+               if (result == 2) { 
     12+                       ath10k_warn(ar, "otp stream is empty, using board.bin contents"); 
     13+                       return 0; 
     14+               } else if (result != 0) { 
     15+                       ath10k_err(ar, "otp calibration failed: %d", result); 
     16+                       return -EINVAL; 
     17+               } 
    1418        } 
     19  
     20        return 0; 
  • trunk/package/kernel/mac80211/patches/921-ath10k_init_devices_synchronously.patch

    r43484 r44655  
    1515--- a/drivers/net/wireless/ath/ath10k/core.c 
    1616+++ b/drivers/net/wireless/ath/ath10k/core.c 
    17 @@ -1119,6 +1119,16 @@ int ath10k_core_register(struct ath10k * 
    18   
     17@@ -1323,6 +1323,16 @@ int ath10k_core_register(struct ath10k * 
     18        ar->chip_id = chip_id; 
    1919        queue_work(ar->workqueue, &ar->register_work); 
    2020  
  • trunk/package/kernel/mac80211/patches/930-ath10k_add_tpt_led_trigger.patch

    r44033 r44655  
    11--- a/drivers/net/wireless/ath/ath10k/mac.c 
    22+++ b/drivers/net/wireless/ath/ath10k/mac.c 
    3 @@ -4824,6 +4824,21 @@ struct ath10k_vif *ath10k_get_arvif(stru 
     3@@ -5416,6 +5416,21 @@ struct ath10k_vif *ath10k_get_arvif(stru 
    44        return arvif_iter.arvif; 
    55 } 
     
    2222 int ath10k_mac_register(struct ath10k *ar) 
    2323 { 
    24         struct ieee80211_supported_band *band; 
    25 @@ -4965,6 +4980,12 @@ int ath10k_mac_register(struct ath10k *a 
    26                 goto err_free; 
    27         } 
     24        static const u32 cipher_suites[] = { 
     25@@ -5590,6 +5605,12 @@ int ath10k_mac_register(struct ath10k *a 
     26        ar->hw->wiphy->cipher_suites = cipher_suites; 
     27        ar->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); 
    2828  
    2929+#if CPTCFG_MAC80211_LEDS 
  • trunk/package/kernel/mt76/Makefile

    r44400 r44655  
    22 
    33PKG_NAME:=mt76 
    4 PKG_VERSION:=2015-02-11 
     4PKG_VERSION:=2015-03-11 
    55PKG_RELEASE=1 
    66 
     
    1111PKG_SOURCE_PROTO:=git 
    1212PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) 
    13 PKG_SOURCE_VERSION:=dddcd8d9cce08c5d0fbe1bd1586bc03b071bc199 
     13PKG_SOURCE_VERSION:=a94e01211aed8eac39331bc030fd3474357f05e0 
    1414PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz 
    1515 
Note: See TracChangeset for help on using the changeset viewer.