Changeset 36007


Ignore:
Timestamp:
2013-03-14T15:45:36+01:00 (5 years ago)
Author:
florian
Message:

mac80211: backport required changes to support 3.9-rc kernels

Location:
trunk/package/mac80211/patches
Files:
1 added
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/mac80211/patches/004-use_env_for_bash.patch

    r35900 r36007  
    1 diff -Nur compat-wireless-2013-02-22.orig/compat/scripts/gen-compat-config.sh compat-wireless-2013-02-22/compat/scripts/gen-compat-config.sh 
    2 --- compat-wireless-2013-02-22.orig/compat/scripts/gen-compat-config.sh 2012-12-20 15:14:36.000000000 +0100 
    3 +++ compat-wireless-2013-02-22/compat/scripts/gen-compat-config.sh      2013-03-07 17:27:04.000000000 +0100 
     1--- a/compat/scripts/gen-compat-config.sh 
     2+++ b/compat/scripts/gen-compat-config.sh 
    43@@ -1,4 +1,4 @@ 
    54-#!/bin/bash 
  • trunk/package/mac80211/patches/130-mesh_pathtbl_backport.patch

    r35753 r36007  
    11--- a/net/mac80211/mesh_pathtbl.c 
    22+++ b/net/mac80211/mesh_pathtbl.c 
    3 @@ -818,7 +818,6 @@ static void table_flush_by_iface(struct  
    4         struct hlist_node *p; 
     3@@ -72,9 +72,9 @@ static inline struct mesh_table *resize_ 
     4  * it's used twice. So it is illegal to do 
     5  *     for_each_mesh_entry(rcu_dereference(...), ...) 
     6  */ 
     7-#define for_each_mesh_entry(tbl, p, node, i) \ 
     8+#define for_each_mesh_entry(tbl, node, i) \ 
     9        for (i = 0; i <= tbl->hash_mask; i++) \ 
     10-               hlist_for_each_entry_rcu(node, p, &tbl->hash_buckets[i], list) 
     11+               hlist_for_each_entry_rcu(node, &tbl->hash_buckets[i], list) 
     12  
     13  
     14 static struct mesh_table *mesh_table_alloc(int size_order) 
     15@@ -139,7 +139,7 @@ static void mesh_table_free(struct mesh_ 
     16        } 
     17        if (free_leafs) { 
     18                spin_lock_bh(&tbl->gates_lock); 
     19-               hlist_for_each_entry_safe(gate, p, q, 
     20+               hlist_for_each_entry_safe(gate, q, 
     21                                         tbl->known_gates, list) { 
     22                        hlist_del(&gate->list); 
     23                        kfree(gate); 
     24@@ -333,12 +333,11 @@ static struct mesh_path *mpath_lookup(st 
     25                                      struct ieee80211_sub_if_data *sdata) 
     26 { 
     27        struct mesh_path *mpath; 
     28-       struct hlist_node *n; 
     29        struct hlist_head *bucket; 
     30        struct mpath_node *node; 
     31  
     32        bucket = &tbl->hash_buckets[mesh_table_hash(dst, sdata, tbl)]; 
     33-       hlist_for_each_entry_rcu(node, n, bucket, list) { 
     34+       hlist_for_each_entry_rcu(node, bucket, list) { 
     35                mpath = node->mpath; 
     36                if (mpath->sdata == sdata && 
     37                    ether_addr_equal(dst, mpath->dst)) { 
     38@@ -389,11 +388,10 @@ mesh_path_lookup_by_idx(struct ieee80211 
     39 { 
     40        struct mesh_table *tbl = rcu_dereference(mesh_paths); 
     41        struct mpath_node *node; 
     42-       struct hlist_node *p; 
     43        int i; 
     44        int j = 0; 
     45  
     46-       for_each_mesh_entry(tbl, p, node, i) { 
     47+       for_each_mesh_entry(tbl, node, i) { 
     48                if (sdata && node->mpath->sdata != sdata) 
     49                        continue; 
     50                if (j++ == idx) { 
     51@@ -417,13 +415,12 @@ int mesh_path_add_gate(struct mesh_path 
     52 { 
     53        struct mesh_table *tbl; 
     54        struct mpath_node *gate, *new_gate; 
     55-       struct hlist_node *n; 
     56        int err; 
     57  
     58        rcu_read_lock(); 
     59        tbl = rcu_dereference(mesh_paths); 
     60  
     61-       hlist_for_each_entry_rcu(gate, n, tbl->known_gates, list) 
     62+       hlist_for_each_entry_rcu(gate, tbl->known_gates, list) 
     63                if (gate->mpath == mpath) { 
     64                        err = -EEXIST; 
     65                        goto err_rcu; 
     66@@ -460,9 +457,9 @@ err_rcu: 
     67 static void mesh_gate_del(struct mesh_table *tbl, struct mesh_path *mpath) 
     68 { 
     69        struct mpath_node *gate; 
     70-       struct hlist_node *p, *q; 
     71+       struct hlist_node *q; 
     72  
     73-       hlist_for_each_entry_safe(gate, p, q, tbl->known_gates, list) { 
     74+       hlist_for_each_entry_safe(gate, q, tbl->known_gates, list) { 
     75                if (gate->mpath != mpath) 
     76                        continue; 
     77                spin_lock_bh(&tbl->gates_lock); 
     78@@ -504,7 +501,6 @@ int mesh_path_add(struct ieee80211_sub_i 
     79        struct mesh_path *mpath, *new_mpath; 
     80        struct mpath_node *node, *new_node; 
     81        struct hlist_head *bucket; 
     82-       struct hlist_node *n; 
     83        int grow = 0; 
     84        int err = 0; 
     85        u32 hash_idx; 
     86@@ -550,7 +546,7 @@ int mesh_path_add(struct ieee80211_sub_i 
     87        spin_lock(&tbl->hashwlock[hash_idx]); 
     88  
     89        err = -EEXIST; 
     90-       hlist_for_each_entry(node, n, bucket, list) { 
     91+       hlist_for_each_entry(node, bucket, list) { 
     92                mpath = node->mpath; 
     93                if (mpath->sdata == sdata && 
     94                    ether_addr_equal(dst, mpath->dst)) 
     95@@ -640,7 +636,6 @@ int mpp_path_add(struct ieee80211_sub_if 
     96        struct mesh_path *mpath, *new_mpath; 
     97        struct mpath_node *node, *new_node; 
     98        struct hlist_head *bucket; 
     99-       struct hlist_node *n; 
     100        int grow = 0; 
     101        int err = 0; 
     102        u32 hash_idx; 
     103@@ -680,7 +675,7 @@ int mpp_path_add(struct ieee80211_sub_if 
     104        spin_lock(&tbl->hashwlock[hash_idx]); 
     105  
     106        err = -EEXIST; 
     107-       hlist_for_each_entry(node, n, bucket, list) { 
     108+       hlist_for_each_entry(node, bucket, list) { 
     109                mpath = node->mpath; 
     110                if (mpath->sdata == sdata && 
     111                    ether_addr_equal(dst, mpath->dst)) 
     112@@ -725,14 +720,13 @@ void mesh_plink_broken(struct sta_info * 
     113        static const u8 bcast[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; 
     114        struct mesh_path *mpath; 
     115        struct mpath_node *node; 
     116-       struct hlist_node *p; 
     117        struct ieee80211_sub_if_data *sdata = sta->sdata; 
     118        int i; 
     119        __le16 reason = cpu_to_le16(WLAN_REASON_MESH_PATH_DEST_UNREACHABLE); 
     120  
     121        rcu_read_lock(); 
     122        tbl = rcu_dereference(mesh_paths); 
     123-       for_each_mesh_entry(tbl, p, node, i) { 
     124+       for_each_mesh_entry(tbl, node, i) { 
     125                mpath = node->mpath; 
     126                if (rcu_dereference(mpath->next_hop) == sta && 
     127                    mpath->flags & MESH_PATH_ACTIVE && 
     128@@ -792,13 +786,12 @@ void mesh_path_flush_by_nexthop(struct s 
     129        struct mesh_table *tbl; 
     130        struct mesh_path *mpath; 
     131        struct mpath_node *node; 
     132-       struct hlist_node *p; 
     133        int i; 
     134  
     135        rcu_read_lock(); 
     136        read_lock_bh(&pathtbl_resize_lock); 
     137        tbl = resize_dereference_mesh_paths(); 
     138-       for_each_mesh_entry(tbl, p, node, i) { 
     139+       for_each_mesh_entry(tbl, node, i) { 
     140                mpath = node->mpath; 
     141                if (rcu_dereference(mpath->next_hop) == sta) { 
     142                        spin_lock(&tbl->hashwlock[i]); 
     143@@ -815,11 +808,9 @@ static void table_flush_by_iface(struct 
     144 { 
     145        struct mesh_path *mpath; 
     146        struct mpath_node *node; 
     147-       struct hlist_node *p; 
    5148        int i; 
    6149  
    7150-       WARN_ON(!rcu_read_lock_held()); 
    8         for_each_mesh_entry(tbl, p, node, i) { 
     151-       for_each_mesh_entry(tbl, p, node, i) { 
     152+       for_each_mesh_entry(tbl, node, i) { 
    9153                mpath = node->mpath; 
    10154                if (mpath->sdata != sdata) 
     155                        continue; 
     156@@ -865,7 +856,6 @@ int mesh_path_del(struct ieee80211_sub_i 
     157        struct mesh_path *mpath; 
     158        struct mpath_node *node; 
     159        struct hlist_head *bucket; 
     160-       struct hlist_node *n; 
     161        int hash_idx; 
     162        int err = 0; 
     163  
     164@@ -875,7 +865,7 @@ int mesh_path_del(struct ieee80211_sub_i 
     165        bucket = &tbl->hash_buckets[hash_idx]; 
     166  
     167        spin_lock(&tbl->hashwlock[hash_idx]); 
     168-       hlist_for_each_entry(node, n, bucket, list) { 
     169+       hlist_for_each_entry(node, bucket, list) { 
     170                mpath = node->mpath; 
     171                if (mpath->sdata == sdata && 
     172                    ether_addr_equal(addr, mpath->dst)) { 
     173@@ -920,7 +910,6 @@ void mesh_path_tx_pending(struct mesh_pa 
     174 int mesh_path_send_to_gates(struct mesh_path *mpath) 
     175 { 
     176        struct ieee80211_sub_if_data *sdata = mpath->sdata; 
     177-       struct hlist_node *n; 
     178        struct mesh_table *tbl; 
     179        struct mesh_path *from_mpath = mpath; 
     180        struct mpath_node *gate = NULL; 
     181@@ -935,7 +924,7 @@ int mesh_path_send_to_gates(struct mesh_ 
     182        if (!known_gates) 
     183                return -EHOSTUNREACH; 
     184  
     185-       hlist_for_each_entry_rcu(gate, n, known_gates, list) { 
     186+       hlist_for_each_entry_rcu(gate, known_gates, list) { 
     187                if (gate->mpath->sdata != sdata) 
     188                        continue; 
     189  
     190@@ -951,7 +940,7 @@ int mesh_path_send_to_gates(struct mesh_ 
     191                } 
     192        } 
     193  
     194-       hlist_for_each_entry_rcu(gate, n, known_gates, list) 
     195+       hlist_for_each_entry_rcu(gate, known_gates, list) 
     196                if (gate->mpath->sdata == sdata) { 
     197                        mpath_dbg(sdata, "Sending to %pM\n", gate->mpath->dst); 
     198                        mesh_path_tx_pending(gate->mpath); 
     199@@ -1096,12 +1085,11 @@ void mesh_path_expire(struct ieee80211_s 
     200        struct mesh_table *tbl; 
     201        struct mesh_path *mpath; 
     202        struct mpath_node *node; 
     203-       struct hlist_node *p; 
     204        int i; 
     205  
     206        rcu_read_lock(); 
     207        tbl = rcu_dereference(mesh_paths); 
     208-       for_each_mesh_entry(tbl, p, node, i) { 
     209+       for_each_mesh_entry(tbl, node, i) { 
     210                if (node->mpath->sdata != sdata) 
     211                        continue; 
     212                mpath = node->mpath; 
  • trunk/package/mac80211/patches/150-disable_addr_notifier.patch

    r35762 r36007  
    1010                                 unsigned long data, void *arg) 
    1111 { 
    12 @@ -372,7 +372,7 @@ static int ieee80211_ifa_changed(struct  
     12@@ -372,7 +372,7 @@ static int ieee80211_ifa_changed(struct 
    1313 } 
    1414 #endif 
  • trunk/package/mac80211/patches/300-pending_work.patch

    r35890 r36007  
    301301 { 
    302302        struct ieee80211_sub_if_data *sdata = 
    303 @@ -1126,6 +1175,9 @@ static void ieee80211_iface_work(struct  
     303@@ -1126,6 +1175,9 @@ static void ieee80211_iface_work(struct 
    304304                                break; 
    305305                        ieee80211_mesh_rx_queued_mgmt(sdata, skb); 
  • trunk/package/mac80211/patches/402-ath9k-fix-invalid-mac-address-handling.patch

    r35139 r36007  
    99  
    1010 #include "hw.h" 
    11 @@ -519,8 +520,16 @@ static int ath9k_hw_init_macaddr(struct  
     11@@ -519,8 +520,16 @@ static int ath9k_hw_init_macaddr(struct 
    1212                common->macaddr[2 * i] = eeval >> 8; 
    1313                common->macaddr[2 * i + 1] = eeval & 0xff; 
  • trunk/package/mac80211/patches/411-ath5k_allow_adhoc_and_ap.patch

    r35753 r36007  
    11--- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c 
    22+++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c 
    3 @@ -89,13 +89,8 @@ ath5k_add_interface(struct ieee80211_hw  
     3@@ -89,13 +89,8 @@ ath5k_add_interface(struct ieee80211_hw 
    44                goto end; 
    55        } 
  • trunk/package/mac80211/patches/431-add_platform_eeprom_support_to_ath5k.patch

    r34571 r36007  
    1818 static bool 
    1919 ath5k_pci_eeprom_read(struct ath_common *common, u32 offset, u16 *data) 
    20 @@ -82,6 +83,19 @@ ath5k_pci_eeprom_read(struct ath_common  
     20@@ -82,6 +83,19 @@ ath5k_pci_eeprom_read(struct ath_common 
    2121        struct ath5k_hw *ah = (struct ath5k_hw *) common->ah; 
    2222        u32 status, timeout; 
  • trunk/package/mac80211/patches/440-ath5k_channel_bw_debugfs.patch

    r34571 r36007  
    102102 /* debugfs: queues etc */ 
    103103  
    104 @@ -904,6 +987,9 @@ ath5k_debug_init_device(struct ath5k_hw  
     104@@ -904,6 +987,9 @@ ath5k_debug_init_device(struct ath5k_hw 
    105105        debugfs_create_file("beacon", S_IWUSR | S_IRUSR, phydir, ah, 
    106106                            &fops_beacon); 
  • trunk/package/mac80211/patches/513-mac80211_reduce_txqueuelen.patch

    r35753 r36007  
    11--- a/net/mac80211/iface.c 
    22+++ b/net/mac80211/iface.c 
    3 @@ -989,6 +989,7 @@ static const struct net_device_ops ieee8 
     3@@ -995,6 +995,7 @@ static const struct net_device_ops ieee8 
    44 static void ieee80211_if_setup(struct net_device *dev) 
    55 { 
  • trunk/package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch

    r35753 r36007  
    176176--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c 
    177177+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c 
    178 @@ -475,12 +475,12 @@ int ath9k_hw_process_rxdesc_edma(struct  
     178@@ -475,12 +475,12 @@ int ath9k_hw_process_rxdesc_edma(struct 
    179179  
    180180        /* XXX: Keycache */ 
     
    237237--- a/drivers/net/wireless/ath/ath9k/debug.c 
    238238+++ b/drivers/net/wireless/ath/ath9k/debug.c 
    239 @@ -940,12 +940,12 @@ void ath_debug_stat_rx(struct ath_softc  
     239@@ -940,12 +940,12 @@ void ath_debug_stat_rx(struct ath_softc 
    240240 #ifdef CONFIG_ATH9K_MAC_DEBUG 
    241241        spin_lock(&sc->debug.samp_lock); 
     
    278278--- a/net/wireless/nl80211.c 
    279279+++ b/net/wireless/nl80211.c 
    280 @@ -3082,6 +3082,32 @@ static bool nl80211_put_sta_rate(struct  
     280@@ -3082,6 +3082,32 @@ static bool nl80211_put_sta_rate(struct 
    281281        return true; 
    282282 } 
     
    373373--- a/drivers/net/wireless/ath/ath9k/antenna.c 
    374374+++ b/drivers/net/wireless/ath/ath9k/antenna.c 
    375 @@ -546,14 +546,14 @@ void ath_ant_comb_scan(struct ath_softc  
     375@@ -546,14 +546,14 @@ void ath_ant_comb_scan(struct ath_softc 
    376376        struct ath_ant_comb *antcomb = &sc->ant_comb; 
    377377        int alt_ratio = 0, alt_rssi_avg = 0, main_rssi_avg = 0, curr_alt_set; 
  • trunk/package/mac80211/patches/523-mac80211_configure_antenna_gain.patch

    r35761 r36007  
    4848  
    4949 /* policy for the key attributes */ 
    50 @@ -1706,6 +1707,22 @@ static int nl80211_set_wiphy(struct sk_b 
     50@@ -1705,6 +1706,22 @@ static int nl80211_set_wiphy(struct sk_b 
     51                if (result) 
    5152                        goto bad_res; 
    5253        } 
    53   
     54+ 
    5455+       if (info->attrs[NL80211_ATTR_WIPHY_ANTENNA_GAIN]) { 
    5556+               int idx, dbi = 0; 
     
    6768+                       goto bad_res; 
    6869+       } 
    69 + 
     70  
    7071        if (info->attrs[NL80211_ATTR_WIPHY_ANTENNA_TX] && 
    7172            info->attrs[NL80211_ATTR_WIPHY_ANTENNA_RX]) { 
    72                 u32 tx_ant, rx_ant; 
    7373--- a/net/mac80211/cfg.c 
    7474+++ b/net/mac80211/cfg.c 
     
    9393                                  const u8 *addr) 
    9494 { 
    95 @@ -3375,6 +3388,7 @@ struct cfg80211_ops mac80211_config_ops  
     95@@ -3375,6 +3388,7 @@ struct cfg80211_ops mac80211_config_ops 
    9696        .set_wiphy_params = ieee80211_set_wiphy_params, 
    9797        .set_tx_power = ieee80211_set_tx_power, 
  • trunk/package/mac80211/patches/530-ath9k_extra_leds.patch

    r35753 r36007  
    163163--- a/drivers/net/wireless/ath/ath9k/init.c 
    164164+++ b/drivers/net/wireless/ath/ath9k/init.c 
    165 @@ -870,7 +870,7 @@ int ath9k_init_device(u16 devid, struct  
     165@@ -870,7 +870,7 @@ int ath9k_init_device(u16 devid, struct 
    166166  
    167167 #ifdef CONFIG_MAC80211_LEDS 
  • trunk/package/mac80211/patches/552-ath9k_rx_dma_stop_check.patch

    r34571 r36007  
    11--- a/drivers/net/wireless/ath/ath9k/mac.c 
    22+++ b/drivers/net/wireless/ath/ath9k/mac.c 
    3 @@ -689,7 +689,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw  
     3@@ -689,7 +689,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw 
    44 { 
    55 #define AH_RX_STOP_DMA_TIMEOUT 10000   /* usec */ 
     
    1010  
    1111        /* Enable access to the DMA observation bus */ 
    12 @@ -719,6 +719,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw  
     12@@ -719,6 +719,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw 
    1313        } 
    1414  
  • trunk/package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch

    r35806 r36007  
    187187--- a/drivers/net/wireless/rt2x00/rt2800pci.c 
    188188+++ b/drivers/net/wireless/rt2x00/rt2800pci.c 
    189 @@ -89,25 +89,11 @@ static void rt2800pci_mcu_status(struct  
     189@@ -89,25 +89,11 @@ static void rt2800pci_mcu_status(struct 
    190190        rt2x00pci_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0); 
    191191 } 
  • trunk/package/mac80211/patches/605-rt2x00-pci-eeprom.patch

    r35255 r36007  
    11--- a/drivers/net/wireless/rt2x00/rt2800pci.c 
    22+++ b/drivers/net/wireless/rt2x00/rt2800pci.c 
    3 @@ -89,7 +89,7 @@ static void rt2800pci_mcu_status(struct  
     3@@ -89,7 +89,7 @@ static void rt2800pci_mcu_status(struct 
    44        rt2x00pci_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0); 
    55 } 
     
    1010        memcpy(rt2x00dev->eeprom, rt2x00dev->eeprom_file->data, EEPROM_SIZE); 
    1111        return 0; 
    12 @@ -983,8 +983,9 @@ static int rt2800pci_read_eeprom(struct  
     12@@ -983,8 +983,9 @@ static int rt2800pci_read_eeprom(struct 
    1313 { 
    1414        int retval; 
  • trunk/package/mac80211/patches/850-brcmsmac-start-adding-support-for-core-rev-28.patch

    r35753 r36007  
    1111--- a/drivers/net/wireless/brcm80211/brcmsmac/main.c 
    1212+++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c 
    13 @@ -717,7 +717,7 @@ static void brcms_c_ucode_bsinit(struct  
     13@@ -717,7 +717,7 @@ static void brcms_c_ucode_bsinit(struct 
    1414        brcms_c_write_mhf(wlc_hw, wlc_hw->band->mhfs); 
    1515  
     
    2020                        brcms_c_write_inits(wlc_hw, ucode->d11n0bsinitvals16); 
    2121                else 
    22 @@ -2257,7 +2257,7 @@ static void brcms_ucode_download(struct  
     22@@ -2257,7 +2257,7 @@ static void brcms_ucode_download(struct 
    2323        if (wlc_hw->ucode_loaded) 
    2424                return; 
Note: See TracChangeset for help on using the changeset viewer.