if (unlikely(retval < 0)) {
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
-@@ -1370,7 +1370,7 @@ usbnet_probe (struct usb_interface *udev
+@@ -1376,7 +1376,7 @@ usbnet_probe (struct usb_interface *udev
net->features |= NETIF_F_HIGHDMA;
#endif
--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
-@@ -1325,7 +1325,7 @@ static struct net_device_ops ath6kl_netd
+@@ -1465,7 +1465,7 @@ static struct net_device_ops ath6kl_netd
void init_netdev(struct net_device *dev)
{
dev->irq = sdev->irq;
--- a/net/wireless/wext-core.c
+++ b/net/wireless/wext-core.c
-@@ -341,6 +341,7 @@ static const int compat_event_type_size[
+@@ -342,6 +342,7 @@ static const int compat_event_type_size[
/* IW event code */
static int __net_init wext_pernet_init(struct net *net)
{
skb_queue_head_init(&net->wext_nlevents);
-@@ -383,6 +384,29 @@ static void wireless_nlevent_process(str
+@@ -384,6 +385,29 @@ static void wireless_nlevent_process(str
static DECLARE_WORK(wireless_nlevent_work, wireless_nlevent_process);
static struct nlmsghdr *rtnetlink_ifinfo_prep(struct net_device *dev,
struct sk_buff *skb)
{
-@@ -595,8 +619,13 @@ void wireless_send_event(struct net_devi
+@@ -596,8 +620,13 @@ void wireless_send_event(struct net_devi
skb_shinfo(skb)->frag_list = compskb;
#endif
}
EXPORT_SYMBOL(wireless_send_event);
-@@ -921,8 +950,13 @@ static int wireless_process_ioctl(struct
+@@ -922,8 +951,13 @@ static int wireless_process_ioctl(struct
return private(dev, iwr, cmd, info, handler);
}
/* Old driver API : call driver ioctl handler */
wdev->netdev = ndev;
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
-@@ -916,7 +916,7 @@ struct lbs_private *lbs_add_card(void *c
+@@ -951,7 +951,7 @@ struct lbs_private *lbs_add_card(void *c
wdev->netdev = dev;
priv->dev = dev;
#define LBS_DEB_LEAVE 0x00000002
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
-@@ -1236,7 +1236,7 @@ static const struct net_device_ops hwsim
+@@ -1238,7 +1238,7 @@ static const struct net_device_ops hwsim
static void hwsim_mon_setup(struct net_device *dev)
{
dev->tx_queue_len = 0;
--- a/drivers/net/wireless/mwifiex/main.c
+++ b/drivers/net/wireless/mwifiex/main.c
-@@ -652,7 +652,7 @@ static const struct net_device_ops mwifi
- static void
- mwifiex_init_priv_params(struct mwifiex_private *priv, struct net_device *dev)
+@@ -580,7 +580,7 @@ static const struct net_device_ops mwifi
+ void mwifiex_init_priv_params(struct mwifiex_private *priv,
+ struct net_device *dev)
{
- dev->netdev_ops = &mwifiex_netdev_ops;
+ netdev_attach_ops(dev, &mwifiex_netdev_ops);
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -4904,7 +4904,9 @@ static int nl80211_wiphy_netns(struct sk
+@@ -4936,7 +4936,9 @@ static int nl80211_wiphy_netns(struct sk
if (!net_eq(wiphy_net(&rdev->wiphy), net))
err = cfg80211_switch_netns(rdev, net);
module_exit(cfg80211_exit);
--- a/net/wireless/wext-core.c
+++ b/net/wireless/wext-core.c
-@@ -400,7 +400,11 @@ static void wireless_nlevent_process(uns
+@@ -401,7 +401,11 @@ static void wireless_nlevent_process(uns
{
struct sk_buff *skb;
while ((skb = skb_dequeue(&wireless_nlevent_queue)))
--- a/drivers/net/wireless/p54/p54usb.c
+++ b/drivers/net/wireless/p54/p54usb.c
-@@ -1079,7 +1079,9 @@ static struct usb_driver p54u_driver = {
+@@ -1080,7 +1080,9 @@ static struct usb_driver p54u_driver = {
.resume = p54u_resume,
.reset_resume = p54u_resume,
#endif /* CONFIG_PM */
static int __init p54u_init(void)
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
-@@ -1310,7 +1310,9 @@ static struct usb_driver ath9k_hif_usb_d
+@@ -1311,7 +1311,9 @@ static struct usb_driver ath9k_hif_usb_d
.reset_resume = ath9k_hif_usb_resume,
#endif
.id_table = ath9k_hif_usb_ids,
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
-@@ -23,7 +23,7 @@ struct rate_control_alg {
+@@ -24,7 +24,7 @@ struct rate_control_alg {
static LIST_HEAD(rate_ctrl_algs);
static DEFINE_MUTEX(rate_ctrl_mutex);
module_param(ieee80211_default_rc_algo, charp, 0644);
MODULE_PARM_DESC(ieee80211_default_rc_algo,
"Default rate control algorithm for mac80211 to use");
-@@ -119,8 +119,8 @@ ieee80211_rate_control_ops_get(const cha
+@@ -120,8 +120,8 @@ ieee80211_rate_control_ops_get(const cha
ops = ieee80211_try_rate_control_ops_get(ieee80211_default_rc_algo);
/* try built-in one if specific alg requested but not found */
moved due to struct enlargements.
---- a/include/net/cfg80211.h 2011-10-04 10:49:07.000000000 +0200
-+++ b/include/net/cfg80211.h 2011-10-06 21:50:47.000000000 +0200
+--- a/include/net/cfg80211.h
++++ b/include/net/cfg80211.h
@@ -1904,6 +1904,9 @@ struct wiphy_wowlan_support {
struct wiphy {
/* assign these fields before you register the wiphy */
/* permanent MAC address(es) */
u8 perm_addr[ETH_ALEN];
u8 addr_mask[ETH_ALEN];
---- a/net/wireless/core.c 2011-09-23 10:34:28.000000000 +0200
-+++ b/net/wireless/core.c 2011-10-06 21:52:02.000000000 +0200
-@@ -330,6 +330,17 @@ struct wiphy *wiphy_new(const struct cfg
+--- a/net/wireless/core.c
++++ b/net/wireless/core.c
+@@ -332,6 +332,17 @@ struct wiphy *wiphy_new(const struct cfg
struct cfg80211_registered_device *rdev;
int alloc_size;
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
-@@ -4183,8 +4183,13 @@ redo:
+@@ -4184,8 +4184,13 @@ redo:
if (b43_bus_host_is_sdio(dev->dev)) {
b43_sdio_free_irq(dev);
} else {
}
mutex_lock(&wl->mutex);
dev = wl->current_dev;
-@@ -4224,9 +4229,17 @@ static int b43_wireless_core_start(struc
+@@ -4225,9 +4230,17 @@ static int b43_wireless_core_start(struc
goto out;
}
} else {
if (err) {
b43err(dev->wl, "Cannot request IRQ-%d\n",
dev->dev->irq);
-@@ -5015,6 +5028,10 @@ static int b43_setup_bands(struct b43_wl
+@@ -5016,6 +5029,10 @@ static int b43_setup_bands(struct b43_wl
static void b43_wireless_core_detach(struct b43_wldev *dev)
{
return 0;
--- a/drivers/net/wireless/wl12xx/wl12xx.h
+++ b/drivers/net/wireless/wl12xx/wl12xx.h
-@@ -631,6 +631,10 @@ struct wl1271 {
+@@ -632,6 +632,10 @@ struct wl1271 {
/* AP-mode - number of currently connected stations */
int active_sta_count;
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
-@@ -374,10 +374,6 @@ struct wiphy *wiphy_new(const struct cfg
+@@ -385,10 +385,6 @@ struct wiphy *wiphy_new(const struct cfg
INIT_LIST_HEAD(&rdev->bss_list);
INIT_WORK(&rdev->scan_done_wk, __cfg80211_scan_done);
INIT_WORK(&rdev->sched_scan_results_wk, __cfg80211_sched_scan_results);
device_initialize(&rdev->wiphy.dev);
rdev->wiphy.dev.class = &ieee80211_class;
rdev->wiphy.dev.platform_data = rdev;
-@@ -826,6 +822,15 @@ static int cfg80211_netdev_notifier_call
+@@ -837,6 +833,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/pci.c
+++ b/drivers/net/wireless/ath/ath5k/pci.c
-@@ -322,6 +322,9 @@ static int ath5k_pci_resume(struct devic
+@@ -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
-@@ -333,7 +336,12 @@ static struct pci_driver ath5k_pci_drive
+@@ -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
-@@ -352,14 +352,10 @@ static int ath_pci_resume(struct device
+@@ -353,14 +353,10 @@ static int ath_pci_resume(struct device
return 0;
}
#define ATH9K_PM_OPS (&ath9k_pm_ops)
-@@ -377,7 +373,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,
--- a/drivers/net/wireless/iwlegacy/iwl-core.c
+++ b/drivers/net/wireless/iwlegacy/iwl-core.c
-@@ -2015,15 +2015,17 @@ int iwl_legacy_pci_resume(struct device
+@@ -2016,15 +2016,17 @@ int iwl_legacy_pci_resume(struct device
}
EXPORT_SYMBOL(iwl_legacy_pci_resume);
--- a/drivers/net/wireless/iwlegacy/iwl-core.h
+++ b/drivers/net/wireless/iwlegacy/iwl-core.h
-@@ -498,7 +498,12 @@ __le32 iwl_legacy_add_beacon_time(struct
+@@ -499,7 +499,12 @@ __le32 iwl_legacy_add_beacon_time(struct
#ifdef CONFIG_PM
int iwl_legacy_pci_suspend(struct device *device);
int iwl_legacy_pci_resume(struct device *device);
static int __init iwl4965_init(void)
--- a/drivers/net/wireless/iwlwifi/iwl-pci.c
+++ b/drivers/net/wireless/iwlwifi/iwl-pci.c
-@@ -535,6 +535,9 @@ static int iwl_pci_resume(struct device
+@@ -536,6 +536,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
-@@ -548,7 +551,12 @@ static struct pci_driver iwl_pci_driver
+@@ -549,7 +552,12 @@ static struct pci_driver iwl_pci_driver
.id_table = iwl_hw_card_ids,
.probe = iwl_pci_probe,
.remove = __devexit_p(iwl_pci_remove),
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
-@@ -769,9 +769,11 @@ static void wdev_cleanup_work(struct wor
+@@ -780,9 +780,11 @@ static void wdev_cleanup_work(struct wor
dev_put(wdev->netdev);
}
{
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
-@@ -1283,13 +1283,17 @@ static const struct net_device_ops usbne
+@@ -1289,13 +1289,17 @@ static const struct net_device_ops usbne
// precondition: never called in_interrupt
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
-@@ -2992,7 +2992,12 @@ void ieee80211_rx(struct ieee80211_hw *h
+@@ -3041,7 +3041,12 @@ void ieee80211_rx(struct ieee80211_hw *h
drop:
kfree_skb(skb);
}
--- a/net/bluetooth/hci_sysfs.c
+++ b/net/bluetooth/hci_sysfs.c
-@@ -71,7 +71,11 @@ static struct attribute_group bt_link_gr
+@@ -72,7 +72,11 @@ static struct attribute_group bt_link_gr
.attrs = bt_link_attrs,
};
&bt_link_group,
NULL
};
-@@ -129,7 +133,11 @@ static void del_conn(struct work_struct
+@@ -130,7 +134,11 @@ static void del_conn(struct work_struct
dev = device_find_child(&conn->dev, NULL, __match_tty);
if (!dev)
break;
put_device(dev);
}
-@@ -379,7 +387,11 @@ static struct attribute_group bt_host_gr
+@@ -380,7 +388,11 @@ static struct attribute_group bt_host_gr
.attrs = bt_host_attrs,
};
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
-@@ -561,7 +561,14 @@ static int l2cap_sock_setsockopt_old(str
+@@ -563,7 +563,14 @@ static int l2cap_sock_setsockopt_old(str
return err;
}
{
struct sock *sk = sock->sk;
struct l2cap_chan *chan = l2cap_pi(sk)->chan;
-@@ -1011,8 +1018,12 @@ static struct sock *l2cap_sock_alloc(str
+@@ -1013,8 +1020,12 @@ static struct sock *l2cap_sock_alloc(str
return sk;
}
{
struct sock *sk;
-@@ -1024,7 +1035,11 @@ static int l2cap_sock_create(struct net
+@@ -1026,7 +1037,11 @@ static int l2cap_sock_create(struct net
sock->type != SOCK_DGRAM && sock->type != SOCK_RAW)
return -ESOCKTNOSUPPORT;
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
-@@ -263,6 +263,18 @@ __le16 ieee80211_ctstoself_duration(stru
+@@ -264,6 +264,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)
{
-@@ -285,7 +297,14 @@ static void __ieee80211_wake_queue(struc
+@@ -286,7 +298,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
-@@ -325,7 +344,13 @@ static void __ieee80211_stop_queue(struc
+@@ -326,7 +345,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
-@@ -1596,6 +1596,10 @@ static void ieee80211_xmit(struct ieee80
+@@ -1437,6 +1437,10 @@ void ieee80211_xmit(struct ieee80211_sub
return;
}
ieee80211_set_qos_hdr(sdata, skb);
ieee80211_tx(sdata, skb, false);
rcu_read_unlock();
-@@ -2113,7 +2117,14 @@ void ieee80211_tx_pending(unsigned long
+@@ -2116,7 +2120,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/orinoco/fw.c
+++ b/drivers/net/wireless/orinoco/fw.c
-@@ -122,7 +122,7 @@ orinoco_dl_firmware(struct orinoco_priva
+@@ -123,7 +123,7 @@ orinoco_dl_firmware(struct orinoco_priva
dev_dbg(dev, "Attempting to download firmware %s\n", firmware);
/* Read current plug data */
dev_dbg(dev, "Read PDA returned %d\n", err);
if (err)
goto free;
-@@ -224,7 +224,7 @@ symbol_dl_image(struct orinoco_private *
+@@ -225,7 +225,7 @@ symbol_dl_image(struct orinoco_private *
if (!pda)
return -ENOMEM;
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
-@@ -805,7 +805,7 @@ int cfg80211_change_iface(struct cfg8021
+@@ -807,7 +807,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
-@@ -1546,7 +1546,7 @@ static int nl80211_valid_4addr(struct cf
+@@ -1558,7 +1558,7 @@ static int nl80211_valid_4addr(struct cf
enum nl80211_iftype iftype)
{
if (!use_4addr) {
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
-@@ -1093,6 +1093,10 @@ static void __exit ieee80211_exit(void)
+@@ -1111,6 +1111,10 @@ static void __exit ieee80211_exit(void)
rc80211_minstrel_ht_exit();
rc80211_minstrel_exit();
/*
* patch for some L1 of old version,
-@@ -3607,6 +3611,14 @@ static int atl1_set_pauseparam(struct ne
+@@ -3603,6 +3607,14 @@ static int atl1_set_pauseparam(struct ne
return 0;
}
static void atl1_get_strings(struct net_device *netdev, u32 stringset,
u8 *data)
{
-@@ -3679,4 +3691,10 @@ static const struct ethtool_ops atl1_eth
+@@ -3675,4 +3687,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/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
-@@ -142,6 +142,16 @@ void ieee80211_assign_tid_tx(struct sta_
+@@ -143,6 +143,16 @@ void ieee80211_assign_tid_tx(struct sta_
rcu_assign_pointer(sta->ampdu_mlme.tid_tx[tid], tid_tx);
}
int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
enum ieee80211_back_parties initiator,
bool tx)
-@@ -164,7 +174,11 @@ int ___ieee80211_stop_tx_ba_session(stru
+@@ -165,7 +175,11 @@ int ___ieee80211_stop_tx_ba_session(stru
/* not even started yet! */
ieee80211_assign_tid_tx(sta, tid, NULL);
spin_unlock_bh(&sta->lock);
return 0;
}
-@@ -323,7 +337,11 @@ void ieee80211_tx_ba_session_handle_star
+@@ -324,7 +338,11 @@ void ieee80211_tx_ba_session_handle_star
spin_unlock_bh(&sta->lock);
ieee80211_wake_queue_agg(local, tid);
return;
}
-@@ -699,7 +717,11 @@ void ieee80211_stop_tx_ba_cb(struct ieee
+@@ -700,7 +718,11 @@ void ieee80211_stop_tx_ba_cb(struct ieee
ieee80211_agg_splice_finish(local, tid);
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -3995,7 +3995,9 @@ static int nl80211_dump_scan(struct sk_b
+@@ -4027,7 +4027,9 @@ static int nl80211_dump_scan(struct sk_b
spin_lock_bh(&rdev->bss_lock);
cfg80211_bss_expire(rdev);