--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -3970,7 +3970,9 @@ static int nl80211_wiphy_netns(struct sk
+@@ -4040,7 +4040,9 @@ static int nl80211_wiphy_netns(struct sk
if (!net_eq(wiphy_net(&rdev->wiphy), net))
err = cfg80211_switch_netns(rdev, net);
static void cfg80211_rfkill_poll(struct rfkill *rfkill, void *data)
{
-@@ -377,7 +379,9 @@ struct wiphy *wiphy_new(const struct cfg
+@@ -378,7 +380,9 @@ struct wiphy *wiphy_new(const struct cfg
rdev->wiphy.flags |= WIPHY_FLAG_PS_ON_BY_DEFAULT;
#endif
rdev->rfkill_ops.set_block = cfg80211_rfkill_set_block;
rdev->rfkill = rfkill_alloc(dev_name(&rdev->wiphy.dev),
-@@ -695,8 +699,10 @@ static int cfg80211_netdev_notifier_call
+@@ -696,8 +700,10 @@ static int cfg80211_netdev_notifier_call
mutex_lock(&rdev->devlist_mtx);
list_add_rcu(&wdev->list, &rdev->netdev_list);
rdev->devlist_generation++;
if (sysfs_create_link(&dev->dev.kobj, &rdev->wiphy.dev.kobj,
"phy80211")) {
-@@ -841,6 +847,7 @@ static struct notifier_block cfg80211_ne
+@@ -852,6 +858,7 @@ static struct notifier_block cfg80211_ne
.notifier_call = cfg80211_netdev_notifier_call,
};
static void __net_exit cfg80211_pernet_exit(struct net *net)
{
struct cfg80211_registered_device *rdev;
-@@ -858,14 +865,17 @@ static void __net_exit cfg80211_pernet_e
+@@ -869,14 +876,17 @@ static void __net_exit cfg80211_pernet_e
static struct pernet_operations cfg80211_pernet_ops = {
.exit = cfg80211_pernet_exit,
};
err = wiphy_sysfs_init();
if (err)
-@@ -900,8 +910,10 @@ out_fail_nl80211:
+@@ -911,8 +921,10 @@ out_fail_nl80211:
out_fail_notifier:
wiphy_sysfs_exit();
out_fail_sysfs:
return err;
}
subsys_initcall(cfg80211_init);
-@@ -913,7 +925,9 @@ static void __exit cfg80211_exit(void)
+@@ -924,7 +936,9 @@ static void __exit cfg80211_exit(void)
unregister_netdevice_notifier(&cfg80211_netdev_notifier);
wiphy_sysfs_exit();
regulatory_exit();
static int __init p54u_init(void)
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
-@@ -1068,7 +1068,9 @@ static struct usb_driver ath9k_hif_usb_d
+@@ -1066,7 +1066,9 @@ static struct usb_driver ath9k_hif_usb_d
.reset_resume = ath9k_hif_usb_resume,
#endif
.id_table = ath9k_hif_usb_ids,
iwlagn-$(CONFIG_IWL5000) += iwl-6000.o
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
-@@ -3971,7 +3971,7 @@ static int iwl_pci_probe(struct pci_dev
+@@ -3962,7 +3962,7 @@ static int iwl_pci_probe(struct pci_dev
#ifdef CONFIG_IWL5000
iwlagn_hw_ops.hw_scan = NULL;
#endif
iwl4965_hw_ops.hw_scan = NULL;
#endif
}
-@@ -4343,10 +4343,10 @@ static void __devexit iwl_pci_remove(str
+@@ -4336,10 +4336,10 @@ static void __devexit iwl_pci_remove(str
/* Hardware specific file defines the PCI IDs table for that hardware module */
static DEFINE_PCI_DEVICE_TABLE(iwl_hw_card_ids) = {
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
-@@ -367,10 +367,6 @@ struct wiphy *wiphy_new(const struct cfg
+@@ -368,10 +368,6 @@ struct wiphy *wiphy_new(const struct cfg
INIT_LIST_HEAD(&rdev->bss_list);
INIT_WORK(&rdev->scan_done_wk, __cfg80211_scan_done);
device_initialize(&rdev->wiphy.dev);
rdev->wiphy.dev.class = &ieee80211_class;
rdev->wiphy.dev.platform_data = rdev;
-@@ -712,6 +708,15 @@ static int cfg80211_netdev_notifier_call
+@@ -713,6 +709,15 @@ static int cfg80211_netdev_notifier_call
wdev->sme_state = CFG80211_SME_IDLE;
mutex_unlock(&rdev->devlist_mtx);
#ifdef CONFIG_CFG80211_WEXT
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
-@@ -300,14 +300,36 @@ static int ath_pci_resume(struct device
+@@ -312,14 +312,36 @@ static int ath_pci_resume(struct device
return 0;
}
#define ATH9K_PM_OPS (&ath9k_pm_ops)
-@@ -325,7 +347,12 @@ static struct pci_driver ath_pci_driver
+@@ -337,7 +359,12 @@ static struct pci_driver ath_pci_driver
.id_table = ath_pci_id_table,
.probe = ath_pci_probe,
.remove = ath_pci_remove,
int ath_pci_init(void)
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
-@@ -4502,7 +4502,12 @@ static struct pci_driver iwl_driver = {
+@@ -4495,7 +4495,12 @@ static struct pci_driver iwl_driver = {
.id_table = iwl_hw_card_ids,
.probe = iwl_pci_probe,
.remove = __devexit_p(iwl_pci_remove),
static int __init iwl_init(void)
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
-@@ -2094,14 +2094,42 @@ int iwl_pci_resume(struct device *device
+@@ -2081,14 +2081,42 @@ int iwl_pci_resume(struct device *device
}
EXPORT_SYMBOL(iwl_pci_resume);
#endif /* CONFIG_PM */
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
-@@ -633,7 +633,12 @@ __le32 iwl_add_beacon_time(struct iwl_pr
+@@ -631,7 +631,12 @@ __le32 iwl_add_beacon_time(struct iwl_pr
#ifdef CONFIG_PM
int iwl_pci_suspend(struct device *device);
int iwl_pci_resume(struct device *device);
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
-@@ -4272,7 +4272,12 @@ static struct pci_driver iwl3945_driver
+@@ -4270,7 +4270,12 @@ static struct pci_driver iwl3945_driver
.id_table = iwl3945_hw_card_ids,
.probe = iwl3945_pci_probe,
.remove = __devexit_p(iwl3945_pci_remove),
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
-@@ -656,9 +656,11 @@ static void wdev_cleanup_work(struct wor
+@@ -657,9 +657,11 @@ static void wdev_cleanup_work(struct wor
dev_put(wdev->netdev);
}
{
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
-@@ -1256,13 +1256,17 @@ static const struct net_device_ops usbne
+@@ -1273,13 +1273,17 @@ static const struct net_device_ops usbne
// precondition: never called in_interrupt
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
-@@ -2895,7 +2895,12 @@ void ieee80211_rx(struct ieee80211_hw *h
+@@ -2896,7 +2896,12 @@ void ieee80211_rx(struct ieee80211_hw *h
drop:
kfree_skb(skb);
}
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -1252,6 +1252,7 @@ void ieee80211_if_remove(struct ieee8021
+@@ -1220,6 +1220,7 @@ void ieee80211_if_remove(struct ieee8021
* Remove all interfaces, may only be called at hardware unregistration
* time because it doesn't do RCU-safe list removals.
*/
void ieee80211_remove_interfaces(struct ieee80211_local *local)
{
struct ieee80211_sub_if_data *sdata, *tmp;
-@@ -1268,6 +1269,22 @@ void ieee80211_remove_interfaces(struct
+@@ -1236,6 +1237,22 @@ void ieee80211_remove_interfaces(struct
mutex_unlock(&local->iflist_mtx);
unregister_netdevice_many(&unreg_list);
}
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
-@@ -1637,6 +1637,10 @@ static void ieee80211_xmit(struct ieee80
+@@ -1638,6 +1638,10 @@ static void ieee80211_xmit(struct ieee80
return;
}
ieee80211_set_qos_hdr(local, skb);
ieee80211_tx(sdata, skb, false);
rcu_read_unlock();
-@@ -2109,7 +2113,14 @@ void ieee80211_tx_pending(unsigned long
+@@ -2110,7 +2114,14 @@ void ieee80211_tx_pending(unsigned long
if (skb_queue_empty(&local->pending[i]))
list_for_each_entry_rcu(sdata, &local->interfaces, list)
}
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
-@@ -3099,20 +3099,42 @@ unlock:
+@@ -3119,20 +3119,42 @@ unlock:
}
static u64 ath5k_prepare_multicast(struct ieee80211_hw *hw,
pos ^= (val >> 18) ^ (val >> 12) ^ (val >> 6) ^ val;
pos &= 0x3f;
mfilt[pos / 32] |= (1 << (pos % 32));
-@@ -3121,6 +3143,9 @@ static u64 ath5k_prepare_multicast(struc
+@@ -3141,6 +3163,9 @@ static u64 ath5k_prepare_multicast(struc
* neet to inform below to not reset the mcast */
/* ath5k_hw_set_mcast_filterindex(ah,
* ha->addr[5]); */
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -730,7 +730,12 @@ struct ieee80211_local {
+@@ -718,7 +718,12 @@ struct ieee80211_local {
struct work_struct recalc_smps;
/* aggregated multicast list */
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -443,8 +443,13 @@ static void ieee80211_do_stop(struct iee
+@@ -433,8 +433,13 @@ static void ieee80211_do_stop(struct iee
netif_addr_lock_bh(sdata->dev);
spin_lock_bh(&local->filter_lock);
spin_unlock_bh(&local->filter_lock);
netif_addr_unlock_bh(sdata->dev);
-@@ -615,7 +620,12 @@ static void ieee80211_set_multicast_list
+@@ -593,7 +598,12 @@ static void ieee80211_set_multicast_list
sdata->flags ^= IEEE80211_SDATA_PROMISC;
}
spin_lock_bh(&local->filter_lock);
spin_unlock_bh(&local->filter_lock);
/* be a bit nasty */
-@@ -547,9 +551,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
+@@ -550,9 +554,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
local->uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
INIT_LIST_HEAD(&local->interfaces);
ntype == NL80211_IFTYPE_P2P_CLIENT))
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -1280,7 +1280,7 @@ static int nl80211_valid_4addr(struct cf
+@@ -1281,7 +1281,7 @@ static int nl80211_valid_4addr(struct cf
enum nl80211_iftype iftype)
{
if (!use_4addr) {
--- a/net/bluetooth/l2cap.c
+++ b/net/bluetooth/l2cap.c
-@@ -4412,8 +4412,12 @@ static inline int l2cap_data_channel(str
+@@ -4418,8 +4418,12 @@ static inline int l2cap_data_channel(str
if (!sock_owned_by_user(sk)) {
l2cap_ertm_data_rcv(sk, skb);
} else {
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
-@@ -755,7 +755,11 @@ int ieee80211_register_hw(struct ieee802
+@@ -758,7 +758,11 @@ int ieee80211_register_hw(struct ieee802
hw->queues = IEEE80211_MAX_QUEUES;
local->workqueue =
if (!local->workqueue) {
result = -ENOMEM;
goto fail_workqueue;
-@@ -969,6 +973,10 @@ static void __exit ieee80211_exit(void)
+@@ -972,6 +976,10 @@ static void __exit ieee80211_exit(void)
rc80211_minstrel_ht_exit();
rc80211_minstrel_exit();