mac80211: refresh patches
authorGabor Juhos <juhosg@openwrt.org>
Sun, 2 Dec 2012 20:41:39 +0000 (20:41 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 2 Dec 2012 20:41:39 +0000 (20:41 +0000)
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 34464

18 files changed:
package/mac80211/patches/130-mesh_pathtbl_backport.patch
package/mac80211/patches/300-pending_work.patch
package/mac80211/patches/402-ath9k-fix-invalid-mac-address-handling.patch
package/mac80211/patches/411-ath5k_allow_adhoc_and_ap.patch
package/mac80211/patches/431-add_platform_eeprom_support_to_ath5k.patch
package/mac80211/patches/440-ath5k_channel_bw_debugfs.patch
package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
package/mac80211/patches/523-cfg80211_fix_antenna_gain.patch
package/mac80211/patches/524-mac80211_configure_antenna_gain.patch
package/mac80211/patches/526-cfg80211_fix_max_reg_power.patch
package/mac80211/patches/540-ath9k_extra_leds.patch
package/mac80211/patches/563-ath9k_rx_dma_stop_check.patch
package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch
package/mac80211/patches/605-rt2x00-pci-eeprom.patch
package/mac80211/patches/620-rt2x00-support-rt3352.patch
package/mac80211/patches/623-rt2x00-rf_vals-rt3352-xtal20.patch
package/mac80211/patches/849-brcmsmac-add-device-found-on-some-SoCs-like-the-bcm4.patch
package/mac80211/patches/851-brcmsmac-start-adding-support-for-core-rev-28.patch

index fbe3e3ae457f4c7e72d7008a50fa0a707eea3abb..15ad03ced2a55f52a9524ac0ee2fbcaa8e6ccd02 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/mac80211/mesh_pathtbl.c
 +++ b/net/mac80211/mesh_pathtbl.c
-@@ -813,7 +813,6 @@ static void table_flush_by_iface(struct 
+@@ -813,7 +813,6 @@ static void table_flush_by_iface(struct
        struct hlist_node *p;
        int i;
  
index 9a39b325e6ffc1853814be2cc2b5dab32438b8c4..65098694a754f537d7e8dc309878ae120e021956 100644 (file)
  static void ieee80211_iface_work(struct work_struct *work)
  {
        struct ieee80211_sub_if_data *sdata =
-@@ -1101,6 +1144,9 @@ static void ieee80211_iface_work(struct 
+@@ -1101,6 +1144,9 @@ static void ieee80211_iface_work(struct
                                break;
                        ieee80211_mesh_rx_queued_mgmt(sdata, skb);
                        break;
        WLAN_STA_BLOCK_BA,
 --- a/net/mac80211/status.c
 +++ b/net/mac80211/status.c
-@@ -34,7 +34,7 @@ void ieee80211_tx_status_irqsafe(struct 
+@@ -34,7 +34,7 @@ void ieee80211_tx_status_irqsafe(struct
                skb_queue_len(&local->skb_queue_unreliable);
        while (tmp > IEEE80211_IRQSAFE_QUEUE_LIMIT &&
               (skb = skb_dequeue(&local->skb_queue_unreliable))) {
  }
 --- a/drivers/net/wireless/ath/ath9k/xmit.c
 +++ b/drivers/net/wireless/ath/ath9k/xmit.c
-@@ -386,7 +386,7 @@ static void ath_tx_complete_aggr(struct 
+@@ -386,7 +386,7 @@ static void ath_tx_complete_aggr(struct
        u16 seq_st = 0, acked_cnt = 0, txfail_cnt = 0, seq_first;
        u32 ba[WME_BA_BMP_SIZE >> 5];
        int isaggr, txfail, txpending, sendbar = 0, needreset = 0, nbad = 0;
        struct ieee80211_tx_rate rates[4];
        struct ath_frame_info *fi;
        int nframes;
-@@ -430,13 +430,17 @@ static void ath_tx_complete_aggr(struct 
+@@ -430,13 +430,17 @@ static void ath_tx_complete_aggr(struct
        tidno = ieee80211_get_qos_ctl(hdr)[0] & IEEE80211_QOS_CTL_TID_MASK;
        tid = ATH_AN_2_TID(an, tidno);
        seq_first = tid->seq_start;
        default:
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -354,7 +354,7 @@ static void purge_old_ps_buffers(struct 
+@@ -354,7 +354,7 @@ static void purge_old_ps_buffers(struct
                        total += skb_queue_len(&sta->ps_tx_buf[ac]);
                        if (skb) {
                                purged++;
  }
  
  /*
-@@ -2190,7 +2195,7 @@ void ieee80211_tx_pending(unsigned long 
+@@ -2190,7 +2195,7 @@ void ieee80211_tx_pending(unsigned long
                        struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
  
                        if (WARN_ON(!info->control.vif)) {
index 7c59e1f109ca7bf9896684d020ab7db23064dc21..a19627e09c683ff7f9ea1d02e1b6fecaab250b79 100644 (file)
@@ -8,7 +8,7 @@
  #include <asm/unaligned.h>
  
  #include "hw.h"
-@@ -523,8 +524,16 @@ static int ath9k_hw_init_macaddr(struct 
+@@ -523,8 +524,16 @@ static int ath9k_hw_init_macaddr(struct
                common->macaddr[2 * i] = eeval >> 8;
                common->macaddr[2 * i + 1] = eeval & 0xff;
        }
index 8e02950e4a71c8e64efde97dc8ae2e4c59669b98..b515e28a681f6017ea6c823b4e34bc77f7fb0889 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c
 +++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
-@@ -89,13 +89,8 @@ ath5k_add_interface(struct ieee80211_hw 
+@@ -89,13 +89,8 @@ ath5k_add_interface(struct ieee80211_hw
                goto end;
        }
  
index 6cafa236a7cc15a25f6ed3bd492f46583a48579a..d4967b6b4bb9eaca35e05001f5082407e682b119 100644 (file)
@@ -17,7 +17,7 @@
   */
  static bool
  ath5k_pci_eeprom_read(struct ath_common *common, u32 offset, u16 *data)
-@@ -82,6 +83,19 @@ ath5k_pci_eeprom_read(struct ath_common 
+@@ -82,6 +83,19 @@ ath5k_pci_eeprom_read(struct ath_common
        struct ath5k_hw *ah = (struct ath5k_hw *) common->ah;
        u32 status, timeout;
  
index a2141ab24e0b4f8639e53ba2fc84c2a2f58afe09..f9c2a09deae6d3f19b33cf695e99af606bfa060e 100644 (file)
@@ -101,7 +101,7 @@ drivers/net/wireless/ath/ath5k/debug.c |   86 ++++++++++++++++++++++++++++++++
  
  /* debugfs: queues etc */
  
-@@ -904,6 +987,9 @@ ath5k_debug_init_device(struct ath5k_hw 
+@@ -904,6 +987,9 @@ ath5k_debug_init_device(struct ath5k_hw
        debugfs_create_file("beacon", S_IWUSR | S_IRUSR, phydir, ah,
                            &fops_beacon);
  
index 8b26a50b3571219b0f976851114a886e5f240793..e43806866ebf11d838242f7b1608193555529d32 100644 (file)
  
 --- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
 +++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
-@@ -458,12 +458,12 @@ int ath9k_hw_process_rxdesc_edma(struct 
+@@ -458,12 +458,12 @@ int ath9k_hw_process_rxdesc_edma(struct
  
        /* XXX: Keycache */
        rxs->rs_rssi = MS(rxsp->status5, AR_RxRSSICombined);
        if (ads.ds_rxstatus8 & AR_RxKeyIdxValid)
 --- a/drivers/net/wireless/ath/ath9k/debug.c
 +++ b/drivers/net/wireless/ath/ath9k/debug.c
-@@ -997,12 +997,12 @@ void ath_debug_stat_rx(struct ath_softc 
+@@ -997,12 +997,12 @@ void ath_debug_stat_rx(struct ath_softc
  #ifdef CONFIG_ATH9K_MAC_DEBUG
        spin_lock(&sc->debug.samp_lock);
        RX_SAMP_DBG(jiffies) = jiffies;
         * hardware stores this as 8 bit signed value.
 --- a/drivers/net/wireless/ath/ath9k/antenna.c
 +++ b/drivers/net/wireless/ath/ath9k/antenna.c
-@@ -529,14 +529,14 @@ void ath_ant_comb_scan(struct ath_softc 
+@@ -529,14 +529,14 @@ void ath_ant_comb_scan(struct ath_softc
        struct ath_ant_comb *antcomb = &sc->ant_comb;
        int alt_ratio = 0, alt_rssi_avg = 0, main_rssi_avg = 0, curr_alt_set;
        int curr_main_set;
index 98f3d9675f346960121175477214f7512ba69b36..45ad797a384161972eecd99bf0048350f796965b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/wireless/reg.c
 +++ b/net/wireless/reg.c
-@@ -908,8 +908,7 @@ static void handle_channel(struct wiphy 
+@@ -908,8 +908,7 @@ static void handle_channel(struct wiphy
  
        chan->beacon_found = false;
        chan->flags = flags | bw_flags | map_regdom_flags(reg_rule->flags);
index 99bdb84ff7fe26b005c29d72c95a474330ebe5b9..ada37854d60d47049ca435c1a6c823f8051c52a6 100644 (file)
  };
  
  /* policy for the key attributes */
-@@ -1604,6 +1605,22 @@ static int nl80211_set_wiphy(struct sk_b
+@@ -1603,6 +1604,22 @@ static int nl80211_set_wiphy(struct sk_b
+               if (result)
                        goto bad_res;
        }
++
 +      if (info->attrs[NL80211_ATTR_WIPHY_ANTENNA_GAIN]) {
 +              int idx, dbi = 0;
 +
 +              if (result)
 +                      goto bad_res;
 +      }
-+
        if (info->attrs[NL80211_ATTR_WIPHY_ANTENNA_TX] &&
            info->attrs[NL80211_ATTR_WIPHY_ANTENNA_RX]) {
-               u32 tx_ant, rx_ant;
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
 @@ -1984,6 +1984,19 @@ static int ieee80211_get_tx_power(struct
  static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev,
                                  const u8 *addr)
  {
-@@ -3085,6 +3098,7 @@ struct cfg80211_ops mac80211_config_ops 
+@@ -3085,6 +3098,7 @@ struct cfg80211_ops mac80211_config_ops
        .set_wiphy_params = ieee80211_set_wiphy_params,
        .set_tx_power = ieee80211_set_tx_power,
        .get_tx_power = ieee80211_get_tx_power,
index 6f8d53f952d0d5ea5b73c8b03e2d3846d1cfb69d..b4604aa41ca44c10ca3960725d16245040ecd03d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/wireless/reg.c
 +++ b/net/wireless/reg.c
-@@ -901,7 +901,7 @@ static void handle_channel(struct wiphy 
+@@ -901,7 +901,7 @@ static void handle_channel(struct wiphy
                        map_regdom_flags(reg_rule->flags) | bw_flags;
                chan->max_antenna_gain = chan->orig_mag =
                        (int) MBI_TO_DBI(power_rule->max_antenna_gain);
index 86dc518564836b0b1f26141a9460ddf077262bd2..f80a38133d507640e7759b8d3266edfb04a6f37b 100644 (file)
  
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -811,7 +811,7 @@ int ath9k_init_device(u16 devid, struct 
+@@ -811,7 +811,7 @@ int ath9k_init_device(u16 devid, struct
  
  #ifdef CONFIG_MAC80211_LEDS
        /* must be initialized before ieee80211_register_hw */
index 606eb1c63d7547e2217a7bb7208597d3efef004d..1da720733f393712f32eee76462fe63634347dd4 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/mac.c
 +++ b/drivers/net/wireless/ath/ath9k/mac.c
-@@ -689,7 +689,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw 
+@@ -689,7 +689,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw
  {
  #define AH_RX_STOP_DMA_TIMEOUT 10000   /* usec */
        struct ath_common *common = ath9k_hw_common(ah);
@@ -9,7 +9,7 @@
        int i;
  
        /* Enable access to the DMA observation bus */
-@@ -719,6 +719,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw 
+@@ -719,6 +719,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw
        }
  
        if (i == 0) {
index 4f35ae899f9c643796738b51747dff67c085369b..cb0bc02e8c8d8604a257e95c4a0dee614f0bf700 100644 (file)
  obj-$(CONFIG_RT2X00_LIB_PCI)          += rt2x00pci.o
 --- a/drivers/net/wireless/rt2x00/rt2800pci.c
 +++ b/drivers/net/wireless/rt2x00/rt2800pci.c
-@@ -89,20 +89,10 @@ static void rt2800pci_mcu_status(struct 
+@@ -89,20 +89,10 @@ static void rt2800pci_mcu_status(struct
        rt2x00pci_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0);
  }
  
 -      memcpy_fromio(rt2x00dev->eeprom, base_addr, EEPROM_SIZE);
 -
 -      iounmap(base_addr);
-+      memcpy(rt2x00dev->eeprom, rt2x00dev->eeprom_file->data, EEPROM_SIZE);
- }
+-}
 -#else
 -static inline void rt2800pci_read_eeprom_soc(struct rt2x00_dev *rt2x00dev)
 -{
--}
++      memcpy(rt2x00dev->eeprom, rt2x00dev->eeprom_file->data, EEPROM_SIZE);
+ }
 -#endif /* CONFIG_RALINK_RT288X || CONFIG_RALINK_RT305X */
  
  #ifdef CONFIG_PCI
index fbc86199a4b2e2e556f87f8dc42f08e31e33c0fd..ec58597752843bee8939927865569641fb30e40d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/rt2x00/rt2800pci.c
 +++ b/drivers/net/wireless/rt2x00/rt2800pci.c
-@@ -89,7 +89,7 @@ static void rt2800pci_mcu_status(struct 
+@@ -89,7 +89,7 @@ static void rt2800pci_mcu_status(struct
        rt2x00pci_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0);
  }
  
index b1ebd022754ffb07b1efc8d2230c611e31bedc7e..4d2ce2b039f8e50bf4a5161246fcfa7629ef41e4 100644 (file)
@@ -157,7 +157,7 @@ Signed-off-by: John W. Linville <linville@tuxdriver.com>
  }
  
  static int rt2800_get_gain_calibration_delta(struct rt2x00_dev *rt2x00dev)
-@@ -2998,6 +3073,10 @@ static int rt2800_init_registers(struct 
+@@ -2998,6 +3073,10 @@ static int rt2800_init_registers(struct
                rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000400);
                rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x00000000);
                rt2800_register_write(rt2x00dev, TX_SW_CFG2, 0x00000030);
index e240488b83f24186e5ab038160f06eebaec828da..180872e8446d86acbe44b65e6e38ad8841325313 100644 (file)
@@ -1,7 +1,5 @@
-Index: compat-wireless-2012-09-07/drivers/net/wireless/rt2x00/rt2800lib.c
-===================================================================
---- compat-wireless-2012-09-07.orig/drivers/net/wireless/rt2x00/rt2800lib.c
-+++ compat-wireless-2012-09-07/drivers/net/wireless/rt2x00/rt2800lib.c
+--- a/drivers/net/wireless/rt2x00/rt2800lib.c
++++ b/drivers/net/wireless/rt2x00/rt2800lib.c
 @@ -5072,6 +5072,27 @@ static const struct rf_channel rf_vals_3
        {173, 0x61, 0, 9},
  };
@@ -87,10 +85,8 @@ Index: compat-wireless-2012-09-07/drivers/net/wireless/rt2x00/rt2800lib.c
         * Initialize hw specifications.
         */
        retval = rt2800_probe_hw_mode(rt2x00dev);
-Index: compat-wireless-2012-09-07/drivers/net/wireless/rt2x00/rt2x00.h
-===================================================================
---- compat-wireless-2012-09-07.orig/drivers/net/wireless/rt2x00/rt2x00.h
-+++ compat-wireless-2012-09-07/drivers/net/wireless/rt2x00/rt2x00.h
+--- a/drivers/net/wireless/rt2x00/rt2x00.h
++++ b/drivers/net/wireless/rt2x00/rt2x00.h
 @@ -421,6 +421,7 @@ static inline struct rt2x00_intf* vif_to
   * @channels: Device/chipset specific channel values (See &struct rf_channel).
   * @channels_info: Additional information for channels (See &struct channel_info).
@@ -107,10 +103,8 @@ Index: compat-wireless-2012-09-07/drivers/net/wireless/rt2x00/rt2x00.h
  };
  
  /*
-Index: compat-wireless-2012-09-07/include/linux/rt2x00_platform.h
-===================================================================
---- compat-wireless-2012-09-07.orig/include/linux/rt2x00_platform.h
-+++ compat-wireless-2012-09-07/include/linux/rt2x00_platform.h
+--- a/include/linux/rt2x00_platform.h
++++ b/include/linux/rt2x00_platform.h
 @@ -18,6 +18,7 @@ struct rt2x00_platform_data {
  
        int disable_2ghz;
index 46528d5e01348414853d400f80debcce1a13303b..8f7e6d2b9d6d952927160ef46eec51f259372035 100644 (file)
@@ -10,7 +10,7 @@
        BCMA_CORETABLE_END
 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
 +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
-@@ -734,7 +734,7 @@ static void brcms_c_ucode_bsinit(struct 
+@@ -734,7 +734,7 @@ static void brcms_c_ucode_bsinit(struct
        brcms_c_write_mhf(wlc_hw, wlc_hw->band->mhfs);
  
        /* do band-specific ucode IHR, SHM, and SCR inits */
@@ -19,7 +19,7 @@
                if (BRCMS_ISNPHY(wlc_hw->band))
                        brcms_c_write_inits(wlc_hw, ucode->d11n0bsinitvals16);
                else
-@@ -2259,7 +2259,7 @@ static void brcms_ucode_download(struct 
+@@ -2259,7 +2259,7 @@ static void brcms_ucode_download(struct
        if (wlc_hw->ucode_loaded)
                return;
  
index bfa9ff5b1ae48a9b71bdd86f6b71dc67ceba0cea..7a162d73c4dfcabdfca1328911bf1f1faaa68325 100644 (file)
@@ -10,7 +10,7 @@
  MODULE_DEVICE_TABLE(bcma, brcms_coreid_table);
 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
 +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
-@@ -734,7 +734,7 @@ static void brcms_c_ucode_bsinit(struct 
+@@ -734,7 +734,7 @@ static void brcms_c_ucode_bsinit(struct
        brcms_c_write_mhf(wlc_hw, wlc_hw->band->mhfs);
  
        /* do band-specific ucode IHR, SHM, and SCR inits */
@@ -19,7 +19,7 @@
                if (BRCMS_ISNPHY(wlc_hw->band))
                        brcms_c_write_inits(wlc_hw, ucode->d11n0bsinitvals16);
                else
-@@ -2259,7 +2259,7 @@ static void brcms_ucode_download(struct 
+@@ -2259,7 +2259,7 @@ static void brcms_ucode_download(struct
        if (wlc_hw->ucode_loaded)
                return;