--- a/drivers/net/wireless/rndis_wlan.c
+++ b/drivers/net/wireless/rndis_wlan.c
-@@ -3452,7 +3452,7 @@ static int rndis_wlan_bind(struct usbnet
+@@ -3456,7 +3456,7 @@ static int rndis_wlan_bind(struct usbnet
* rndis_host wants to avoid all OID as much as possible
* so do promisc/multicast handling in rndis_wlan.
*/
retval = rndis_set_oid(usbdev, OID_GEN_CURRENT_PACKET_FILTER, &tmp,
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -713,7 +713,12 @@ static void ieee80211_if_setup(struct ne
+@@ -700,7 +700,12 @@ static void ieee80211_if_setup(struct ne
{
ether_setup(dev);
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
dev->destructor = free_netdev;
}
-@@ -860,7 +865,7 @@ static void ieee80211_setup_sdata(struct
+@@ -847,7 +852,7 @@ static void ieee80211_setup_sdata(struct
/* and set some type-dependent values */
sdata->vif.type = type;
sdata->vif.p2p = false;
sdata->wdev.iftype = type;
sdata->control_port_protocol = cpu_to_be16(ETH_P_PAE);
-@@ -899,7 +904,7 @@ static void ieee80211_setup_sdata(struct
+@@ -888,7 +893,7 @@ static void ieee80211_setup_sdata(struct
break;
case NL80211_IFTYPE_MONITOR:
sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP;
sdata->u.mntr_flags = MONITOR_FLAG_CONTROL |
MONITOR_FLAG_OTHER_BSS;
break;
-@@ -1150,6 +1155,8 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1139,6 +1144,8 @@ int ieee80211_if_add(struct ieee80211_lo
return -ENOMEM;
dev_net_set(ndev, wiphy_net(local->hw.wiphy));
ndev->needed_headroom = local->tx_headroom +
4*6 /* four MAC addresses */
+ 2 + 2 + 2 + 2 /* ctl, dur, seq, qos */
-@@ -1158,6 +1165,7 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1147,6 +1154,7 @@ int ieee80211_if_add(struct ieee80211_lo
- ETH_HLEN /* ethernet hard_header_len */
+ IEEE80211_ENCRYPT_HEADROOM;
ndev->needed_tailroom = IEEE80211_ENCRYPT_TAILROOM;
priv->keys[index].key = kzalloc(key_len, GFP_ATOMIC);
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
-@@ -537,9 +537,14 @@ cfg80211_bss_update(struct cfg80211_regi
+@@ -633,9 +633,14 @@ cfg80211_bss_update(struct cfg80211_regi
size_t used = dev->wiphy.bss_priv_size + sizeof(*res);
size_t ielen = res->pub.len_proberesp_ies;
memcpy(found->pub.proberesp_ies,
res->pub.proberesp_ies, ielen);
found->pub.len_proberesp_ies = ielen;
-@@ -573,9 +578,14 @@ cfg80211_bss_update(struct cfg80211_regi
+@@ -669,9 +674,14 @@ cfg80211_bss_update(struct cfg80211_regi
(found->pub.information_elements ==
found->pub.beacon_ies);
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -4945,7 +4945,9 @@ static int nl80211_wiphy_netns(struct sk
+@@ -5066,7 +5066,9 @@ static int nl80211_wiphy_netns(struct sk
if (!net_eq(wiphy_net(&rdev->wiphy), net))
err = cfg80211_switch_netns(rdev, net);
rdev->rfkill_ops.set_block = cfg80211_rfkill_set_block;
rdev->rfkill = rfkill_alloc(dev_name(&rdev->wiphy.dev),
-@@ -809,8 +813,10 @@ static int cfg80211_netdev_notifier_call
+@@ -813,8 +817,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")) {
-@@ -990,6 +996,7 @@ static struct notifier_block cfg80211_ne
+@@ -994,6 +1000,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;
-@@ -1007,14 +1014,17 @@ static void __net_exit cfg80211_pernet_e
+@@ -1011,14 +1018,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)
-@@ -1049,8 +1059,10 @@ out_fail_nl80211:
+@@ -1053,8 +1063,10 @@ out_fail_nl80211:
out_fail_notifier:
wiphy_sysfs_exit();
out_fail_sysfs:
return err;
}
subsys_initcall(cfg80211_init);
-@@ -1062,7 +1074,9 @@ static void __exit cfg80211_exit(void)
+@@ -1066,7 +1078,9 @@ static void __exit cfg80211_exit(void)
unregister_netdevice_notifier(&cfg80211_netdev_notifier);
wiphy_sysfs_exit();
regulatory_exit();
+#endif
};
- static int __init p54u_init(void)
+ module_usb_driver(p54u_driver);
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
@@ -1311,7 +1311,9 @@ static struct usb_driver ath9k_hif_usb_d
obj-$(CONFIG_RTLWIFI) += rtlwifi/
--- a/drivers/net/wireless/iwlegacy/Makefile
+++ b/drivers/net/wireless/iwlegacy/Makefile
-@@ -5,7 +5,7 @@
+@@ -5,7 +5,7 @@ iwlegacy-$(CONFIG_IWLEGACY_DEBUGFS) += d
iwlegacy-objs += $(iwlegacy-m)
# 4965
--- a/drivers/net/wireless/iwlegacy/common.h
+++ b/drivers/net/wireless/iwlegacy/common.h
-@@ -1411,7 +1411,7 @@
+@@ -1411,7 +1411,7 @@ struct il_priv {
} _3945;
#endif
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
-@@ -1907,6 +1907,9 @@ struct wiphy_wowlan_support {
+@@ -1976,6 +1976,9 @@ struct wiphy_wowlan_support {
struct wiphy {
/* assign these fields before you register the wiphy */
device_initialize(&rdev->wiphy.dev);
rdev->wiphy.dev.class = &ieee80211_class;
rdev->wiphy.dev.platform_data = rdev;
-@@ -837,6 +833,15 @@ static int cfg80211_netdev_notifier_call
+@@ -841,6 +837,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/ethernet/atheros/atl1c/atl1c_main.c
+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
-@@ -2897,6 +2897,9 @@ static struct pci_error_handlers atl1c_err_handler = {
+@@ -2900,6 +2900,9 @@ static struct pci_error_handlers atl1c_e
static SIMPLE_DEV_PM_OPS(atl1c_pm_ops, atl1c_suspend, atl1c_resume);
static struct pci_driver atl1c_driver = {
.name = atl1c_driver_name,
.id_table = atl1c_pci_tbl,
-@@ -2904,7 +2907,12 @@ static struct pci_driver atl1c_driver = {
+@@ -2907,7 +2910,12 @@ static struct pci_driver atl1c_driver =
.remove = __devexit_p(atl1c_remove),
.shutdown = atl1c_shutdown,
.err_handler = &atl1c_err_handler,
/*
--- a/drivers/net/ethernet/atheros/atlx/atl1.c
+++ b/drivers/net/ethernet/atheros/atlx/atl1.c
-@@ -2833,6 +2833,9 @@ static int atl1_resume(struct device *dev)
+@@ -2833,6 +2833,9 @@ static int atl1_resume(struct device *de
return 0;
}
/*
--- a/drivers/net/wireless/ath/ath5k/pci.c
+++ b/drivers/net/wireless/ath/ath5k/pci.c
-@@ -323,6 +323,9 @@ static int ath5k_pci_resume(struct device *dev)
+@@ -323,6 +323,9 @@ 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
-@@ -334,7 +337,12 @@ static struct pci_driver ath5k_pci_driver = {
+@@ -334,7 +337,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/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
-@@ -353,14 +353,10 @@ static int ath_pci_resume(struct device *device)
+@@ -353,14 +353,10 @@ static int ath_pci_resume(struct device
return 0;
}
#define ATH9K_PM_OPS (&ath9k_pm_ops)
-@@ -378,7 +374,12 @@ static struct pci_driver ath_pci_driver = {
+@@ -378,7 +374,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/iwlegacy/3945-mac.c
+++ b/drivers/net/wireless/iwlegacy/3945-mac.c
-@@ -3920,7 +3920,12 @@ static struct pci_driver il3945_driver = {
+@@ -3920,7 +3920,12 @@ static struct pci_driver il3945_driver =
.id_table = il3945_hw_card_ids,
.probe = il3945_pci_probe,
.remove = __devexit_p(il3945_pci_remove),
static int __init
--- a/drivers/net/wireless/iwlegacy/4965-mac.c
+++ b/drivers/net/wireless/iwlegacy/4965-mac.c
-@@ -6478,7 +6478,12 @@ static struct pci_driver il4965_driver = {
+@@ -6478,7 +6478,12 @@ static struct pci_driver il4965_driver =
.id_table = il4965_hw_card_ids,
.probe = il4965_pci_probe,
.remove = __devexit_p(il4965_pci_remove),
--- a/drivers/net/wireless/iwlegacy/common.h
+++ b/drivers/net/wireless/iwlegacy/common.h
-@@ -2027,7 +2027,12 @@ __le32 il_add_beacon_time(struct il_priv *il, u32 base, u32 addon,
+@@ -2027,7 +2027,12 @@ __le32 il_add_beacon_time(struct il_priv
#ifdef CONFIG_PM
int il_pci_suspend(struct device *device);
int il_pci_resume(struct device *device);
--- a/drivers/net/wireless/iwlwifi/iwl-pci.c
+++ b/drivers/net/wireless/iwlwifi/iwl-pci.c
-@@ -520,6 +520,9 @@ static int iwl_pci_resume(struct device *device)
+@@ -520,6 +520,9 @@ static int iwl_pci_resume(struct device
static SIMPLE_DEV_PM_OPS(iwl_dev_pm_ops, iwl_pci_suspend, iwl_pci_resume);
#define IWL_PM_OPS (&iwl_dev_pm_ops)
#else
-@@ -533,7 +536,12 @@ static struct pci_driver iwl_pci_driver = {
+@@ -533,7 +536,12 @@ static struct pci_driver iwl_pci_driver
.id_table = iwl_hw_card_ids,
.probe = iwl_pci_probe,
.remove = __devexit_p(iwl_pci_remove),
int __must_check iwl_pci_register_driver(void)
--- a/drivers/net/wireless/libertas/if_spi.c
+++ b/drivers/net/wireless/libertas/if_spi.c
-@@ -1252,6 +1252,7 @@ static int __devexit libertas_spi_remove(struct spi_device *spi)
+@@ -1252,6 +1252,7 @@ static int __devexit libertas_spi_remove
return 0;
}
static int if_spi_suspend(struct device *dev)
{
struct spi_device *spi = to_spi_device(dev);
-@@ -1285,6 +1286,7 @@ static const struct dev_pm_ops if_spi_pm_ops = {
+@@ -1285,6 +1286,7 @@ static const struct dev_pm_ops if_spi_pm
.suspend = if_spi_suspend,
.resume = if_spi_resume,
};
static struct spi_driver libertas_spi_driver = {
.probe = if_spi_probe,
-@@ -1292,7 +1294,9 @@ static struct spi_driver libertas_spi_driver = {
+@@ -1292,7 +1294,9 @@ static struct spi_driver libertas_spi_dr
.driver = {
.name = "libertas_spi",
.owner = THIS_MODULE,
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
-@@ -381,21 +381,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n");
+@@ -381,21 +381,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use
MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n");
MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)");
static int __init rtl92ce_module_init(void)
--- a/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
-@@ -391,21 +391,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n");
+@@ -391,21 +391,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use
MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n");
MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)");
/* add global spin lock to solve the problem that
--- a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
-@@ -403,21 +403,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n");
+@@ -403,21 +403,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use
MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n");
MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)");
--- a/drivers/net/wireless/ipw2x00/ipw2100.c
+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
-@@ -6117,7 +6117,11 @@ static struct net_device *ipw2100_alloc_
+@@ -6118,7 +6118,11 @@ static struct net_device *ipw2100_alloc_
netdev_attach_ops(dev, &ipw2100_netdev_ops);
dev->ethtool_ops = &ipw2100_ethtool_ops;
dev->wireless_handlers = &ipw2100_wx_handler_def;
So we need to just ifdef this part out.
---- a/net/mac80211/tx.c 2011-11-14 16:46:04.000000000 +0100
-+++ b/net/mac80211/tx.c 2011-11-14 17:04:09.000000000 +0100
-@@ -1915,6 +1915,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -1950,6 +1950,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
goto fail;
}
if (unlikely(!multicast && skb->sk &&
skb_shinfo(skb)->tx_flags & SKBTX_WIFI_STATUS)) {
struct sk_buff *orig_skb = skb;
-@@ -1953,6 +1954,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
+@@ -1988,6 +1989,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
skb = orig_skb;
}
}
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
-@@ -780,9 +780,11 @@ static void wdev_cleanup_work(struct wor
+@@ -784,9 +784,11 @@ static void wdev_cleanup_work(struct wor
dev_put(wdev->netdev);
}
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
-@@ -3041,7 +3041,12 @@ void ieee80211_rx(struct ieee80211_hw *h
+@@ -3070,7 +3070,12 @@ void ieee80211_rx(struct ieee80211_hw *h
drop:
kfree_skb(skb);
}
{
struct sock *sk = sock->sk;
struct l2cap_chan *chan = l2cap_pi(sk)->chan;
-@@ -1062,8 +1069,12 @@ static struct sock *l2cap_sock_alloc(str
+@@ -1072,8 +1079,12 @@ static struct sock *l2cap_sock_alloc(str
return sk;
}
{
struct sock *sk;
-@@ -1075,7 +1086,11 @@ static int l2cap_sock_create(struct net
+@@ -1085,7 +1096,11 @@ static int l2cap_sock_create(struct net
sock->type != SOCK_DGRAM && sock->type != SOCK_RAW)
return -ESOCKTNOSUPPORT;
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -1231,6 +1231,7 @@ void ieee80211_if_remove(struct ieee8021
+@@ -1236,6 +1236,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;
-@@ -1251,6 +1252,22 @@ void ieee80211_remove_interfaces(struct
+@@ -1256,6 +1257,22 @@ void ieee80211_remove_interfaces(struct
unregister_netdevice_many(&unreg_list);
list_del(&unreg_list);
}
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
-@@ -264,6 +264,18 @@ __le16 ieee80211_ctstoself_duration(stru
+@@ -265,6 +265,18 @@ __le16 ieee80211_ctstoself_duration(stru
}
EXPORT_SYMBOL(ieee80211_ctstoself_duration);
static void __ieee80211_wake_queue(struct ieee80211_hw *hw, int queue,
enum queue_stop_reason reason)
{
-@@ -286,7 +298,14 @@ static void __ieee80211_wake_queue(struc
+@@ -287,7 +299,14 @@ static void __ieee80211_wake_queue(struc
list_for_each_entry_rcu(sdata, &local->interfaces, list) {
if (test_bit(SDATA_STATE_OFFCHANNEL, &sdata->state))
continue;
}
rcu_read_unlock();
} else
-@@ -326,7 +345,13 @@ static void __ieee80211_stop_queue(struc
+@@ -327,7 +346,13 @@ static void __ieee80211_stop_queue(struc
rcu_read_lock();
list_for_each_entry_rcu(sdata, &local->interfaces, list)
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
-@@ -1437,6 +1437,10 @@ void ieee80211_xmit(struct ieee80211_sub
+@@ -1470,6 +1470,10 @@ void ieee80211_xmit(struct ieee80211_sub
return;
}
ieee80211_set_qos_hdr(sdata, skb);
ieee80211_tx(sdata, skb, false);
rcu_read_unlock();
-@@ -2115,7 +2119,14 @@ void ieee80211_tx_pending(unsigned long
+@@ -2205,7 +2209,14 @@ void ieee80211_tx_pending(unsigned long
if (skb_queue_empty(&local->pending[i]))
list_for_each_entry_rcu(sdata, &local->interfaces, list)
return 1; /* update */
--- a/drivers/net/wireless/rndis_wlan.c
+++ b/drivers/net/wireless/rndis_wlan.c
-@@ -1627,7 +1627,11 @@ static void set_multicast_list(struct us
+@@ -1659,7 +1659,11 @@ static void set_multicast_list(struct us
netdev_for_each_mc_addr(ha, usbdev->net)
memcpy(mc_addrs + i++ * ETH_ALEN,
return hash.low | ((u64)hash.high << 32);
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
-@@ -172,7 +172,11 @@ static void _brcmf_set_multicast_list(st
+@@ -157,7 +157,11 @@ static void _brcmf_set_multicast_list(st
netdev_for_each_mc_addr(ha, ndev) {
if (!cnt)
break;
}
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
-@@ -2112,7 +2112,11 @@ struct ieee80211_ops {
+@@ -2140,7 +2140,11 @@ struct ieee80211_ops {
enum ieee80211_tx_sync_type type);
u64 (*prepare_multicast)(struct ieee80211_hw *hw,
}
--- a/net/mac80211/driver-ops.h
+++ b/net/mac80211/driver-ops.h
-@@ -162,14 +162,28 @@ static inline void drv_finish_tx_sync(st
+@@ -204,14 +204,28 @@ static inline void drv_finish_tx_sync(st
}
static inline u64 drv_prepare_multicast(struct ieee80211_local *local,
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -781,7 +781,12 @@ struct ieee80211_local {
+@@ -796,7 +796,12 @@ struct ieee80211_local {
struct work_struct recalc_smps;
/* aggregated multicast list */
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -435,8 +435,13 @@ static void ieee80211_do_stop(struct iee
+@@ -447,8 +447,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);
-@@ -600,7 +605,12 @@ static void ieee80211_set_multicast_list
+@@ -616,7 +621,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 */
-@@ -630,9 +634,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
- local->uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
+@@ -647,9 +651,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
+ wiphy->ht_capa_mod_mask = &mac80211_ht_capa_mod_mask;
INIT_LIST_HEAD(&local->interfaces);
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
int retry = 0;
while (atomic_read(&sdiodev->suspend) && retry++ != 30)
wait_event_timeout(*wq, false, HZ/100);
-@@ -550,7 +550,7 @@ static void brcmf_ops_sdio_remove(struct
+@@ -528,7 +528,7 @@ static void brcmf_ops_sdio_remove(struct
}
}
static int brcmf_sdio_suspend(struct device *dev)
{
mmc_pm_flag_t sdio_flags;
-@@ -603,7 +603,7 @@ static struct sdio_driver brcmf_sdmmc_dr
+@@ -583,7 +583,7 @@ static struct sdio_driver brcmf_sdmmc_dr
.remove = brcmf_ops_sdio_remove,
.name = "brcmfmac",
.id_table = brcmf_sdmmc_ids,
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
-@@ -807,7 +807,7 @@ int cfg80211_change_iface(struct cfg8021
+@@ -795,7 +795,7 @@ int cfg80211_change_iface(struct cfg8021
return -EOPNOTSUPP;
/* if it's part of a bridge, reject changing type to station/ibss */
ntype == NL80211_IFTYPE_P2P_CLIENT))
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -1563,7 +1563,7 @@ static int nl80211_valid_4addr(struct cf
+@@ -1599,7 +1599,7 @@ static int nl80211_valid_4addr(struct cf
enum nl80211_iftype iftype)
{
if (!use_4addr) {
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
-@@ -4206,8 +4206,12 @@ static inline int l2cap_data_channel(str
+@@ -4211,8 +4211,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
-@@ -1107,6 +1107,10 @@ static void __exit ieee80211_exit(void)
+@@ -1140,6 +1140,10 @@ static void __exit ieee80211_exit(void)
rc80211_minstrel_ht_exit();
rc80211_minstrel_exit();
case IL_LED_DEFAULT:
--- a/drivers/net/wireless/iwlwifi/iwl-led.c
+++ b/drivers/net/wireless/iwlwifi/iwl-led.c
-@@ -184,7 +184,9 @@ void iwl_leds_init(struct iwl_priv *priv)
+@@ -184,7 +184,9 @@ void iwl_leds_init(struct iwl_priv *priv
wiphy_name(priv->hw->wiphy));
priv->led.brightness_set = iwl_led_brightness_set;
priv->led.blink_set = iwl_led_blink_set;
--- a/drivers/net/wireless/iwlegacy/common.c
+++ b/drivers/net/wireless/iwlegacy/common.c
-@@ -380,6 +380,7 @@ il_led_brightness_set(struct led_classdev *led_cdev,
+@@ -380,6 +380,7 @@ il_led_brightness_set(struct led_classde
il_led_cmd(il, on, 0);
}
static int
il_led_blink_set(struct led_classdev *led_cdev, unsigned long *delay_on,
unsigned long *delay_off)
-@@ -388,6 +389,7 @@ il_led_blink_set(struct led_classdev *led_cdev, unsigned long *delay_on,
+@@ -388,6 +389,7 @@ il_led_blink_set(struct led_classdev *le
return il_led_cmd(il, *delay_on, *delay_off);
}
#endif
--- a/drivers/net/wireless/iwlwifi/iwl-led.c
+++ b/drivers/net/wireless/iwlwifi/iwl-led.c
-@@ -163,6 +163,7 @@ static void iwl_led_brightness_set(struct led_classdev *led_cdev,
+@@ -163,6 +163,7 @@ static void iwl_led_brightness_set(struc
iwl_led_cmd(priv, on, 0);
}
static int iwl_led_blink_set(struct led_classdev *led_cdev,
unsigned long *delay_on,
unsigned long *delay_off)
-@@ -171,6 +172,7 @@ static int iwl_led_blink_set(struct led_classdev *led_cdev,
+@@ -171,6 +172,7 @@ static int iwl_led_blink_set(struct led_
return iwl_led_cmd(priv, *delay_on, *delay_off);
}
void iwl_leds_init(struct iwl_priv *priv)
{
-@@ -183,7 +185,9 @@ void iwl_leds_init(struct iwl_priv *priv)
+@@ -183,7 +185,9 @@ void iwl_leds_init(struct iwl_priv *priv
priv->led.name = kasprintf(GFP_KERNEL, "%s-led",
wiphy_name(priv->hw->wiphy));
priv->led.brightness_set = iwl_led_brightness_set;
static u32 atl1c_get_msglevel(struct net_device *netdev)
{
struct atl1c_adapter *adapter = netdev_priv(netdev);
-@@ -303,6 +310,11 @@ static const struct ethtool_ops atl1c_et
+@@ -302,6 +309,11 @@ static const struct ethtool_ops atl1c_et
.get_link = ethtool_op_get_link,
.get_eeprom_len = atl1c_get_eeprom_len,
.get_eeprom = atl1c_get_eeprom,
/*
* patch for some L1 of old version,
-@@ -3601,6 +3605,14 @@ static int atl1_set_pauseparam(struct ne
+@@ -3600,6 +3604,14 @@ static int atl1_set_pauseparam(struct ne
return 0;
}
static void atl1_get_strings(struct net_device *netdev, u32 stringset,
u8 *data)
{
-@@ -3673,4 +3685,10 @@ static const struct ethtool_ops atl1_eth
+@@ -3672,4 +3684,10 @@ static const struct ethtool_ops atl1_eth
.nway_reset = atl1_nway_reset,
.get_ethtool_stats = atl1_get_ethtool_stats,
.get_sset_count = atl1_get_sset_count,
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -4036,7 +4036,9 @@ static int nl80211_dump_scan(struct sk_b
+@@ -4124,7 +4124,9 @@ static int nl80211_dump_scan(struct sk_b
spin_lock_bh(&rdev->bss_lock);
cfg80211_bss_expire(rdev);