retval = rndis_set_oid(usbdev,
--- a/drivers/net/ethernet/broadcom/b44.c
+++ b/drivers/net/ethernet/broadcom/b44.c
-@@ -2159,7 +2159,7 @@ static int __devinit b44_init_one(struct
+@@ -2175,7 +2175,7 @@ static int __devinit b44_init_one(struct
bp->rx_pending = B44_DEF_RX_RING_PENDING;
bp->tx_pending = B44_DEF_TX_RING_PENDING;
net_dev->wireless_handlers = &ipw_wx_handler_def;
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
-@@ -982,7 +982,7 @@ struct lbs_private *lbs_add_card(void *c
+@@ -988,7 +988,7 @@ struct lbs_private *lbs_add_card(void *c
wdev->netdev = dev;
priv->dev = dev;
strncpy(netdev->name, pci_name(pdev), sizeof(netdev->name) - 1);
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -940,7 +940,7 @@ static void ieee80211_if_setup(struct ne
+@@ -952,7 +952,7 @@ static void ieee80211_if_setup(struct ne
{
ether_setup(dev);
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
dev->destructor = free_netdev;
}
-@@ -1087,7 +1087,7 @@ static void ieee80211_setup_sdata(struct
+@@ -1099,7 +1099,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);
-@@ -1128,7 +1128,7 @@ static void ieee80211_setup_sdata(struct
+@@ -1140,7 +1140,7 @@ static void ieee80211_setup_sdata(struct
break;
case NL80211_IFTYPE_MONITOR:
sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP;
* For RX we handle drivers that zero-pad to end-of-packet.
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -941,6 +941,11 @@ static void ieee80211_if_setup(struct ne
+@@ -953,6 +953,11 @@ static void ieee80211_if_setup(struct ne
ether_setup(dev);
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
netdev_attach_ops(dev, &ieee80211_dataif_ops);
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -1407,6 +1407,7 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1419,6 +1419,7 @@ 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 */
-@@ -1415,6 +1416,7 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1427,6 +1428,7 @@ int ieee80211_if_add(struct ieee80211_lo
- ETH_HLEN /* ethernet hard_header_len */
+ IEEE80211_ENCRYPT_HEADROOM;
ndev->needed_tailroom = IEEE80211_ENCRYPT_TAILROOM;
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -5662,7 +5662,9 @@ static int nl80211_wiphy_netns(struct sk
+@@ -5689,7 +5689,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),
-@@ -829,8 +833,10 @@ static int cfg80211_netdev_notifier_call
+@@ -785,8 +789,10 @@ static int cfg80211_netdev_notifier_call
wdev->identifier = ++rdev->wdev_id;
list_add_rcu(&wdev->list, &rdev->wdev_list);
rdev->devlist_generation++;
if (sysfs_create_link(&dev->dev.kobj, &rdev->wiphy.dev.kobj,
"phy80211")) {
-@@ -1017,6 +1023,7 @@ static struct notifier_block cfg80211_ne
+@@ -973,6 +979,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;
-@@ -1034,14 +1041,17 @@ static void __net_exit cfg80211_pernet_e
+@@ -990,14 +997,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)
-@@ -1076,8 +1086,10 @@ out_fail_nl80211:
+@@ -1032,8 +1042,10 @@ out_fail_nl80211:
out_fail_notifier:
wiphy_sysfs_exit();
out_fail_sysfs:
return err;
}
subsys_initcall(cfg80211_init);
-@@ -1089,7 +1101,9 @@ static void __exit cfg80211_exit(void)
+@@ -1045,7 +1057,9 @@ static void __exit cfg80211_exit(void)
unregister_netdevice_notifier(&cfg80211_netdev_notifier);
wiphy_sysfs_exit();
regulatory_exit();
ath9k-$(CONFIG_ATH9K_DEBUGFS) += debug.o
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -749,7 +749,7 @@ void ath9k_set_hw_capab(struct ath_softc
+@@ -750,7 +750,7 @@ void ath9k_set_hw_capab(struct ath_softc
sc->ant_rx = hw->wiphy->available_antennas_rx;
sc->ant_tx = hw->wiphy->available_antennas_tx;
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
-@@ -2132,6 +2132,9 @@ struct wiphy_wowlan_support {
+@@ -2143,6 +2143,9 @@ struct wiphy_wowlan_support {
struct wiphy {
/* assign these fields before you register the wiphy */
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
-@@ -4208,8 +4208,13 @@ redo:
+@@ -4206,8 +4206,13 @@ redo:
if (b43_bus_host_is_sdio(dev->dev)) {
b43_sdio_free_irq(dev);
} else {
}
mutex_lock(&wl->mutex);
dev = wl->current_dev;
-@@ -4251,9 +4256,17 @@ static int b43_wireless_core_start(struc
+@@ -4249,9 +4254,17 @@ static int b43_wireless_core_start(struc
goto out;
}
} else {
if (err) {
b43err(dev->wl, "Cannot request IRQ-%d\n",
dev->dev->irq);
-@@ -5047,6 +5060,10 @@ static int b43_setup_bands(struct b43_wl
+@@ -5045,6 +5058,10 @@ static int b43_setup_bands(struct b43_wl
static void b43_wireless_core_detach(struct b43_wldev *dev)
{
/* Data structure for the WLAN parts (802.11 cores) of the b43 chip. */
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
-@@ -5502,14 +5502,25 @@ int __devinit wlcore_probe(struct wl1271
+@@ -5538,14 +5538,25 @@ int __devinit wlcore_probe(struct wl1271
platform_set_drvdata(pdev, wl);
if (ret < 0) {
wl1271_error("request_irq() failed: %d", ret);
goto out_free_hw;
-@@ -5583,7 +5594,11 @@ out_unreg:
+@@ -5619,7 +5630,11 @@ out_unreg:
wl1271_unregister_hw(wl);
out_irq:
out_free_hw:
wlcore_free_hw(wl);
-@@ -5602,7 +5617,12 @@ int __devexit wlcore_remove(struct platf
+@@ -5638,7 +5653,12 @@ int __devexit wlcore_remove(struct platf
disable_irq_wake(wl->irq);
}
wl1271_unregister_hw(wl);
device_initialize(&rdev->wiphy.dev);
rdev->wiphy.dev.class = &ieee80211_class;
rdev->wiphy.dev.platform_data = rdev;
-@@ -857,6 +853,15 @@ static int cfg80211_netdev_notifier_call
+@@ -813,6 +809,15 @@ static int cfg80211_netdev_notifier_call
wdev->sme_state = CFG80211_SME_IDLE;
mutex_unlock(&rdev->devlist_mtx);
#ifdef CONFIG_CFG80211_WEXT
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
-@@ -743,9 +743,11 @@ static void wdev_cleanup_work(struct wor
+@@ -745,9 +745,11 @@ static void wdev_cleanup_work(struct wor
dev_put(wdev->netdev);
}
};
+#endif
- static struct ieee80211_channel *
- cfg80211_get_any_chan(struct cfg80211_registered_device *rdev)
+ void cfg80211_update_iface_num(struct cfg80211_registered_device *rdev,
+ enum nl80211_iftype iftype, int num)
--- a/net/bluetooth/bnep/core.c
+++ b/net/bluetooth/bnep/core.c
@@ -528,9 +528,11 @@ static struct device *bnep_get_device(st
--- a/drivers/bluetooth/hci_ldisc.c
+++ b/drivers/bluetooth/hci_ldisc.c
-@@ -271,8 +271,13 @@ static int hci_uart_tty_open(struct tty_
+@@ -302,8 +302,13 @@ static int hci_uart_tty_open(struct tty_
/* FIXME: why is this needed. Note don't use ldisc_ref here as the
open path is before the ldisc is referencable */
tty_driver_flush_buffer(tty);
return 0;
-@@ -491,7 +496,11 @@ static int hci_uart_tty_ioctl(struct tty
+@@ -529,7 +534,11 @@ static int hci_uart_tty_ioctl(struct tty
return hu->hdev_flags;
default:
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -1509,6 +1509,7 @@ void ieee80211_if_remove(struct ieee8021
+@@ -1521,6 +1521,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;
-@@ -1528,6 +1529,22 @@ void ieee80211_remove_interfaces(struct
+@@ -1540,6 +1541,22 @@ void ieee80211_remove_interfaces(struct
unregister_netdevice_many(&unreg_list);
list_del(&unreg_list);
}
}
--- a/drivers/net/ethernet/broadcom/b44.c
+++ b/drivers/net/ethernet/broadcom/b44.c
-@@ -1687,7 +1687,11 @@ static int __b44_load_mcast(struct b44 *
+@@ -1696,7 +1696,11 @@ static int __b44_load_mcast(struct b44 *
netdev_for_each_mc_addr(ha, dev) {
if (i == num_ents)
break;
}
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
-@@ -343,18 +343,34 @@ static int lbs_add_mcast_addrs(struct cm
+@@ -349,18 +349,34 @@ static int lbs_add_mcast_addrs(struct cm
netif_addr_lock_bh(dev);
cnt = netdev_mc_count(dev);
netdev_for_each_mc_addr(ha, dev) {
static void rtl8187_configure_filter(struct ieee80211_hw *dev,
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
-@@ -2763,11 +2763,20 @@ struct wl1271_filter_params {
+@@ -2799,11 +2799,20 @@ struct wl1271_filter_params {
u8 mc_list[ACX_MC_ADDRESS_GROUP_MAX][ETH_ALEN];
};
struct wl1271 *wl = hw->priv;
if (unlikely(wl->state == WL1271_STATE_OFF))
-@@ -2780,16 +2789,40 @@ static u64 wl1271_op_prepare_multicast(s
+@@ -2816,16 +2825,40 @@ static u64 wl1271_op_prepare_multicast(s
}
/* update multicast filtering parameters */
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -685,8 +685,13 @@ static void ieee80211_do_stop(struct iee
+@@ -693,8 +693,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);
-@@ -856,7 +861,12 @@ static void ieee80211_set_multicast_list
+@@ -868,7 +873,12 @@ static void ieee80211_set_multicast_list
sdata->flags ^= IEEE80211_SDATA_PROMISC;
}
spin_lock_bh(&local->filter_lock);
ntype == NL80211_IFTYPE_P2P_CLIENT))
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -1873,7 +1873,7 @@ static int nl80211_valid_4addr(struct cf
+@@ -1880,7 +1880,7 @@ static int nl80211_valid_4addr(struct cf
enum nl80211_iftype iftype)
{
if (!use_4addr) {
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -4663,7 +4663,9 @@ static int nl80211_dump_scan(struct sk_b
+@@ -4690,7 +4690,9 @@ static int nl80211_dump_scan(struct sk_b
spin_lock_bh(&rdev->bss_lock);
cfg80211_bss_expire(rdev);
--- a/drivers/net/wireless/ti/wl12xx/main.c
+++ b/drivers/net/wireless/ti/wl12xx/main.c
-@@ -1675,16 +1675,20 @@ static int __devinit wl12xx_probe(struct
+@@ -1698,16 +1698,20 @@ static int __devinit wl12xx_probe(struct
return wlcore_probe(wl, pdev);
}
--- a/drivers/net/wireless/mwifiex/init.c
+++ b/drivers/net/wireless/mwifiex/init.c
-@@ -355,8 +355,10 @@ void mwifiex_set_trans_start(struct net_
+@@ -354,8 +354,10 @@ void mwifiex_set_trans_start(struct net_
{
int i;
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
-@@ -3420,11 +3420,11 @@ static void b43_op_tx(struct ieee80211_h
+@@ -3418,11 +3418,11 @@ static void b43_op_tx(struct ieee80211_h
}
B43_WARN_ON(skb_shinfo(skb)->nr_frags);
--- a/drivers/net/wireless/libertas/if_usb.c
+++ b/drivers/net/wireless/libertas/if_usb.c
-@@ -962,6 +962,7 @@ static int if_usb_suspend(struct usb_int
+@@ -961,6 +961,7 @@ static int if_usb_suspend(struct usb_int
goto out;
}
#ifdef CONFIG_OLPC
if (machine_is_olpc()) {
if (priv->wol_criteria == EHS_REMOVE_WAKEUP)
-@@ -970,6 +971,7 @@ static int if_usb_suspend(struct usb_int
+@@ -969,6 +970,7 @@ static int if_usb_suspend(struct usb_int
olpc_ec_wakeup_set(EC_SCI_SRC_WLAN);
}
#endif
--- a/drivers/bluetooth/hci_ldisc.c
+++ b/drivers/bluetooth/hci_ldisc.c
-@@ -393,7 +393,10 @@ static int hci_uart_register_dev(struct
+@@ -426,7 +426,10 @@ static int hci_uart_register_dev(struct
hdev->close = hci_uart_close;
hdev->flush = hci_uart_flush;
hdev->send = hci_uart_send_frame;
void brcmf_usb_exit(void)
--- a/drivers/net/wireless/libertas/if_usb.c
+++ b/drivers/net/wireless/libertas/if_usb.c
-@@ -1015,7 +1015,9 @@ static struct usb_driver if_usb_driver =
+@@ -1014,7 +1014,9 @@ static struct usb_driver if_usb_driver =
.suspend = if_usb_suspend,
.resume = if_usb_resume,
.reset_resume = if_usb_resume,