};
/* internal helper: get rdev and dev */
-@@ -4479,7 +4481,9 @@ static int nl80211_wiphy_netns(struct sk
+@@ -4462,7 +4464,9 @@ static int nl80211_wiphy_netns(struct sk
err = cfg80211_switch_netns(rdev, net);
out_put_net:
static void cfg80211_rfkill_poll(struct rfkill *rfkill, void *data)
{
-@@ -381,7 +383,9 @@ struct wiphy *wiphy_new(const struct cfg
+@@ -376,7 +378,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),
-@@ -699,8 +703,10 @@ static int cfg80211_netdev_notifier_call
+@@ -694,8 +698,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")) {
-@@ -846,6 +852,7 @@ static struct notifier_block cfg80211_ne
+@@ -841,6 +847,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;
-@@ -863,14 +870,17 @@ static void __net_exit cfg80211_pernet_e
+@@ -858,14 +865,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)
-@@ -905,8 +915,10 @@ out_fail_nl80211:
+@@ -900,8 +910,10 @@ out_fail_nl80211:
out_fail_notifier:
wiphy_sysfs_exit();
out_fail_sysfs:
return err;
}
subsys_initcall(cfg80211_init);
-@@ -918,7 +930,9 @@ static void __exit cfg80211_exit(void)
+@@ -913,7 +925,9 @@ static void __exit cfg80211_exit(void)
unregister_netdevice_notifier(&cfg80211_netdev_notifier);
wiphy_sysfs_exit();
regulatory_exit();
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
-@@ -371,10 +371,6 @@ struct wiphy *wiphy_new(const struct cfg
+@@ -366,10 +366,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;
-@@ -717,6 +713,15 @@ static int cfg80211_netdev_notifier_call
+@@ -712,6 +708,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/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
-@@ -3499,6 +3499,34 @@ static int ath5k_pci_resume(struct devic
+@@ -3511,6 +3511,34 @@ static int ath5k_pci_resume(struct devic
return 0;
}
static SIMPLE_DEV_PM_OPS(ath5k_pm_ops, ath5k_pci_suspend, ath5k_pci_resume);
#define ATH5K_PM_OPS (&ath5k_pm_ops)
#else
-@@ -3510,7 +3538,12 @@ static struct pci_driver ath5k_pci_drive
+@@ -3522,7 +3550,12 @@ static struct pci_driver ath5k_pci_drive
.id_table = ath5k_pci_id_table,
.probe = ath5k_pci_probe,
.remove = __devexit_p(ath5k_pci_remove),
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
-@@ -660,9 +660,11 @@ static void wdev_cleanup_work(struct wor
+@@ -655,9 +655,11 @@ static void wdev_cleanup_work(struct wor
dev_put(wdev->netdev);
}
}
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
-@@ -2776,20 +2776,42 @@ unlock:
+@@ -2788,20 +2788,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));
-@@ -2798,6 +2820,9 @@ static u64 ath5k_prepare_multicast(struc
+@@ -2810,6 +2832,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]); */
return ((u64)(mfilt[1]) << 32) | mfilt[0];
--- a/drivers/net/wireless/ath/carl9170/main.c
+++ b/drivers/net/wireless/ath/carl9170/main.c
-@@ -810,17 +810,35 @@ out:
+@@ -817,17 +817,35 @@ out:
return err;
}
spin_unlock_bh(&local->filter_lock);
/* be a bit nasty */
-@@ -539,9 +543,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
+@@ -540,9 +544,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
local->uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
INIT_LIST_HEAD(&local->interfaces);
--- a/drivers/net/wireless/libertas/if_sdio.c
+++ b/drivers/net/wireless/libertas/if_sdio.c
-@@ -984,6 +984,7 @@ static int if_sdio_probe(struct sdio_fun
+@@ -982,6 +982,7 @@ static int if_sdio_probe(struct sdio_fun
if (ret)
goto disable;
/* For 1-bit transfers to the 8686 model, we need to enable the
* interrupt flag in the CCCR register. Set the MMC_QUIRK_LENIENT_FN0
* bit to allow access to non-vendor registers. */
-@@ -1002,6 +1003,7 @@ static int if_sdio_probe(struct sdio_fun
+@@ -1000,6 +1001,7 @@ static int if_sdio_probe(struct sdio_fun
if (ret)
goto release_int;
}
--- a/drivers/net/wireless/libertas/if_sdio.c
+++ b/drivers/net/wireless/libertas/if_sdio.c
-@@ -1171,6 +1171,7 @@ static void if_sdio_remove(struct sdio_f
+@@ -1161,6 +1161,7 @@ static void if_sdio_remove(struct sdio_f
lbs_deb_leave(LBS_DEB_SDIO);
}
static int if_sdio_suspend(struct device *dev)
{
struct sdio_func *func = dev_to_sdio_func(dev);
-@@ -1225,15 +1226,18 @@ static const struct dev_pm_ops if_sdio_p
+@@ -1215,15 +1216,18 @@ static const struct dev_pm_ops if_sdio_p
.suspend = if_sdio_suspend,
.resume = if_sdio_resume,
};