--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1648,7 +1648,11 @@ int i915_driver_load(struct drm_device *
+@@ -1659,7 +1659,11 @@ int i915_driver_load(struct drm_device *
return 0;
out_gem_unload:
unregister_shrinker(&dev_priv->mm.inactive_shrinker);
if (dev->pdev->msi_enabled)
-@@ -1682,7 +1686,11 @@ int i915_driver_unload(struct drm_device
+@@ -1698,7 +1702,11 @@ int i915_driver_unload(struct drm_device
i915_teardown_sysfs(dev);
mutex_lock(&dev->struct_mutex);
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -56,10 +56,15 @@ static void i915_gem_object_update_fence
+@@ -57,10 +57,15 @@ static void i915_gem_object_update_fence
struct drm_i915_fence_reg *fence,
bool enable);
static long i915_gem_purge(struct drm_i915_private *dev_priv, long target);
static long i915_gem_shrink_all(struct drm_i915_private *dev_priv);
static void i915_gem_object_truncate(struct drm_i915_gem_object *obj);
-@@ -4464,8 +4469,12 @@ i915_gem_load(struct drm_device *dev)
+@@ -4554,8 +4559,12 @@ i915_gem_load(struct drm_device *dev)
dev_priv->mm.interruptible = true;
dev_priv->mm.inactive_shrinker.seeks = DEFAULT_SEEKS;
register_shrinker(&dev_priv->mm.inactive_shrinker);
}
-@@ -4688,8 +4697,14 @@ static bool mutex_is_locked_by(struct mu
+@@ -4778,8 +4787,14 @@ static bool mutex_is_locked_by(struct mu
#endif
}
{
struct drm_i915_private *dev_priv =
container_of(shrinker,
-@@ -4698,7 +4713,12 @@ i915_gem_inactive_count(struct shrinker
+@@ -4788,7 +4803,12 @@ i915_gem_inactive_count(struct shrinker
struct drm_device *dev = dev_priv->dev;
struct drm_i915_gem_object *obj;
bool unlock = true;
if (!mutex_trylock(&dev->struct_mutex)) {
if (!mutex_is_locked_by(&dev->struct_mutex, current))
-@@ -4710,6 +4730,17 @@ i915_gem_inactive_count(struct shrinker
+@@ -4800,6 +4820,17 @@ i915_gem_inactive_count(struct shrinker
unlock = false;
}
count = 0;
list_for_each_entry(obj, &dev_priv->mm.unbound_list, global_list)
if (obj->pages_pin_count == 0)
-@@ -4800,6 +4831,7 @@ struct i915_vma *i915_gem_obj_to_vma(str
- return NULL;
+@@ -4879,6 +4910,7 @@ unsigned long i915_gem_obj_size(struct d
+ return 0;
}
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
static unsigned long
i915_gem_inactive_scan(struct shrinker *shrinker, struct shrink_control *sc)
{
-@@ -4833,3 +4865,4 @@ i915_gem_inactive_scan(struct shrinker *
+@@ -4912,3 +4944,4 @@ i915_gem_inactive_scan(struct shrinker *
mutex_unlock(&dev->struct_mutex);
return freed;
}
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
-@@ -872,6 +872,9 @@ static int i915_gmch_probe(struct drm_de
+@@ -881,6 +881,9 @@ static int i915_gmch_probe(struct drm_de
{
struct drm_i915_private *dev_priv = dev->dev_private;
int ret;
ret = intel_gmch_probe(dev_priv->bridge_dev, dev_priv->dev->pdev, NULL);
if (!ret) {
-@@ -879,7 +882,16 @@ static int i915_gmch_probe(struct drm_de
+@@ -888,7 +891,16 @@ static int i915_gmch_probe(struct drm_de
return -EIO;
}
--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
-@@ -1289,7 +1289,7 @@ static const struct net_device_ops ath6k
+@@ -1292,7 +1292,7 @@ static const struct net_device_ops ath6k
void init_netdev(struct net_device *dev)
{
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -1097,7 +1097,7 @@ static void ieee80211_if_setup(struct ne
+@@ -1105,7 +1105,7 @@ static void ieee80211_if_setup(struct ne
{
ether_setup(dev);
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
dev->destructor = free_netdev;
}
-@@ -1260,7 +1260,7 @@ static void ieee80211_setup_sdata(struct
+@@ -1268,7 +1268,7 @@ static void ieee80211_setup_sdata(struct
/* only monitor/p2p-device differ */
if (sdata->dev) {
sdata->dev->type = ARPHRD_ETHER;
}
-@@ -1298,7 +1298,7 @@ static void ieee80211_setup_sdata(struct
+@@ -1307,7 +1307,7 @@ static void ieee80211_setup_sdata(struct
break;
case NL80211_IFTYPE_MONITOR:
sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP;
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
-@@ -1575,7 +1575,7 @@ usbnet_probe (struct usb_interface *udev
+@@ -1613,7 +1613,7 @@ usbnet_probe (struct usb_interface *udev
net->features |= NETIF_F_HIGHDMA;
#endif
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -1603,6 +1603,7 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1612,6 +1612,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 */
-@@ -1611,6 +1612,7 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1620,6 +1621,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
-@@ -1630,7 +1630,7 @@ static int nl80211_dump_wiphy(struct sk_
+@@ -1637,7 +1637,7 @@ static int nl80211_dump_wiphy(struct sk_
/* attempt to fit multiple wiphy data chunks into the skb */
do {
ret = nl80211_send_wiphy(dev, skb,
cb->nlh->nlmsg_seq,
NLM_F_MULTI, state);
if (ret < 0) {
-@@ -1683,7 +1683,7 @@ static int nl80211_get_wiphy(struct sk_b
+@@ -1690,7 +1690,7 @@ static int nl80211_get_wiphy(struct sk_b
if (!msg)
return -ENOMEM;
&state) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -2258,7 +2258,7 @@ static int nl80211_dump_interface(struct
+@@ -2265,7 +2265,7 @@ static int nl80211_dump_interface(struct
if_idx++;
continue;
}
cb->nlh->nlmsg_seq, NLM_F_MULTI,
rdev, wdev) < 0) {
goto out;
-@@ -2287,7 +2287,7 @@ static int nl80211_get_interface(struct
+@@ -2294,7 +2294,7 @@ static int nl80211_get_interface(struct
if (!msg)
return -ENOMEM;
dev, wdev) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -2520,7 +2520,7 @@ static int nl80211_new_interface(struct
+@@ -2527,7 +2527,7 @@ static int nl80211_new_interface(struct
break;
}
rdev, wdev) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -2655,7 +2655,7 @@ static int nl80211_get_key(struct sk_buf
+@@ -2662,7 +2662,7 @@ static int nl80211_get_key(struct sk_buf
if (!msg)
return -ENOMEM;
- hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
+ hdr = nl80211hdr_put(msg, genl_info_snd_portid(info), info->snd_seq, 0,
NL80211_CMD_NEW_KEY);
- if (IS_ERR(hdr))
- return PTR_ERR(hdr);
-@@ -3624,7 +3624,7 @@ static int nl80211_dump_station(struct s
+ if (!hdr)
+ return -ENOBUFS;
+@@ -3631,7 +3631,7 @@ static int nl80211_dump_station(struct s
goto out_err;
if (nl80211_send_station(skb,
cb->nlh->nlmsg_seq, NLM_F_MULTI,
dev, wdev->netdev, mac_addr,
&sinfo) < 0)
-@@ -3670,7 +3670,7 @@ static int nl80211_get_station(struct sk
+@@ -3677,7 +3677,7 @@ static int nl80211_get_station(struct sk
if (!msg)
return -ENOMEM;
rdev, dev, mac_addr, &sinfo) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -4278,7 +4278,7 @@ static int nl80211_dump_mpath(struct sk_
+@@ -4285,7 +4285,7 @@ static int nl80211_dump_mpath(struct sk_
if (err)
goto out_err;
cb->nlh->nlmsg_seq, NLM_F_MULTI,
wdev->netdev, dst, next_hop,
&pinfo) < 0)
-@@ -4327,7 +4327,7 @@ static int nl80211_get_mpath(struct sk_b
+@@ -4334,7 +4334,7 @@ static int nl80211_get_mpath(struct sk_b
if (!msg)
return -ENOMEM;
dev, dst, next_hop, &pinfo) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -4591,7 +4591,7 @@ static int nl80211_get_mesh_config(struc
+@@ -4598,7 +4598,7 @@ static int nl80211_get_mesh_config(struc
msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_MESH_CONFIG);
if (!hdr)
goto out;
-@@ -4950,7 +4950,7 @@ static int nl80211_get_reg(struct sk_buf
+@@ -4957,7 +4957,7 @@ static int nl80211_get_reg(struct sk_buf
if (!msg)
return -ENOBUFS;
NL80211_CMD_GET_REG);
if (!hdr)
goto put_failure;
-@@ -5629,7 +5629,7 @@ static int nl80211_send_bss(struct sk_bu
+@@ -5741,7 +5741,7 @@ static int nl80211_send_bss(struct sk_bu
ASSERT_WDEV_LOCK(wdev);
NL80211_CMD_NEW_SCAN_RESULTS);
if (!hdr)
return -1;
-@@ -5866,7 +5866,7 @@ static int nl80211_dump_survey(struct sk
+@@ -5978,7 +5978,7 @@ static int nl80211_dump_survey(struct sk
}
if (nl80211_send_survey(skb,
cb->nlh->nlmsg_seq, NLM_F_MULTI,
wdev->netdev, &survey) < 0)
goto out;
-@@ -6553,7 +6553,7 @@ static int nl80211_testmode_dump(struct
+@@ -6665,7 +6665,7 @@ static int nl80211_testmode_dump(struct
}
while (1) {
cb->nlh->nlmsg_seq, NLM_F_MULTI,
NL80211_CMD_TESTMODE);
struct nlattr *tmdata;
-@@ -6632,7 +6632,7 @@ struct sk_buff *cfg80211_testmode_alloc_
+@@ -6747,7 +6747,7 @@ struct sk_buff *cfg80211_testmode_alloc_
return NULL;
return __cfg80211_testmode_alloc_skb(rdev, approxlen,
rdev->testmode_info->snd_seq,
GFP_KERNEL);
}
-@@ -7000,7 +7000,7 @@ static int nl80211_remain_on_channel(str
+@@ -7115,7 +7115,7 @@ static int nl80211_remain_on_channel(str
if (!msg)
return -ENOMEM;
- hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
+ hdr = nl80211hdr_put(msg, genl_info_snd_portid(info), info->snd_seq, 0,
NL80211_CMD_REMAIN_ON_CHANNEL);
-
- if (IS_ERR(hdr)) {
-@@ -7219,7 +7219,7 @@ static int nl80211_register_mgmt(struct
+ if (!hdr) {
+ err = -ENOBUFS;
+@@ -7333,7 +7333,7 @@ static int nl80211_register_mgmt(struct
if (!rdev->ops->mgmt_tx)
return -EOPNOTSUPP;
nla_data(info->attrs[NL80211_ATTR_FRAME_MATCH]),
nla_len(info->attrs[NL80211_ATTR_FRAME_MATCH]));
}
-@@ -7300,7 +7300,7 @@ static int nl80211_tx_mgmt(struct sk_buf
+@@ -7414,7 +7414,7 @@ static int nl80211_tx_mgmt(struct sk_buf
if (!msg)
return -ENOMEM;
- hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
+ hdr = nl80211hdr_put(msg, genl_info_snd_portid(info), info->snd_seq, 0,
NL80211_CMD_FRAME);
-
- if (IS_ERR(hdr)) {
-@@ -7415,7 +7415,7 @@ static int nl80211_get_power_save(struct
+ if (!hdr) {
+ err = -ENOBUFS;
+@@ -7528,7 +7528,7 @@ static int nl80211_get_power_save(struct
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_POWER_SAVE);
if (!hdr) {
err = -ENOBUFS;
-@@ -7725,7 +7725,7 @@ static int nl80211_get_wowlan(struct sk_
+@@ -7838,7 +7838,7 @@ static int nl80211_get_wowlan(struct sk_
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_WOWLAN);
if (!hdr)
goto nla_put_failure;
-@@ -8154,7 +8154,7 @@ static int nl80211_get_coalesce(struct s
+@@ -8267,7 +8267,7 @@ static int nl80211_get_coalesce(struct s
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_COALESCE);
if (!hdr)
goto nla_put_failure;
-@@ -8407,7 +8407,7 @@ static int nl80211_register_unexpected_f
+@@ -8520,7 +8520,7 @@ static int nl80211_register_unexpected_f
if (wdev->ap_unexpected_nlportid)
return -EBUSY;
return 0;
}
-@@ -8437,7 +8437,7 @@ static int nl80211_probe_client(struct s
+@@ -8550,7 +8550,7 @@ static int nl80211_probe_client(struct s
if (!msg)
return -ENOMEM;
- hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0,
+ hdr = nl80211hdr_put(msg, genl_info_snd_portid(info), info->snd_seq, 0,
NL80211_CMD_PROBE_CLIENT);
-
- if (IS_ERR(hdr)) {
-@@ -8481,13 +8481,13 @@ static int nl80211_register_beacons(stru
+ if (!hdr) {
+ err = -ENOBUFS;
+@@ -8593,13 +8593,13 @@ static int nl80211_register_beacons(stru
/* First, check if already registered. */
spin_lock_bh(&rdev->beacon_registrations_lock);
list_for_each_entry(reg, &rdev->beacon_registrations, list) {
list_add(&nreg->list, &rdev->beacon_registrations);
spin_unlock_bh(&rdev->beacon_registrations_lock);
-@@ -8554,7 +8554,7 @@ static int nl80211_get_protocol_features
+@@ -8666,7 +8666,7 @@ static int nl80211_get_protocol_features
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_PROTOCOL_FEATURES);
if (!hdr)
goto nla_put_failure;
-@@ -8629,7 +8629,7 @@ static int nl80211_crit_protocol_start(s
+@@ -8741,7 +8741,7 @@ static int nl80211_crit_protocol_start(s
ret = rdev_crit_proto_start(rdev, wdev, proto, duration);
if (!ret)
return ret;
}
-@@ -11020,12 +11020,12 @@ static int nl80211_netlink_notify(struct
+@@ -11140,12 +11140,12 @@ static int nl80211_netlink_notify(struct
list_for_each_entry_rcu(rdev, &cfg80211_rdev_list, list) {
list_for_each_entry_rcu(wdev, &rdev->wdev_list, list)
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -1634,6 +1634,7 @@ static int nl80211_dump_wiphy(struct sk_
+@@ -1641,6 +1641,7 @@ static int nl80211_dump_wiphy(struct sk_
cb->nlh->nlmsg_seq,
NLM_F_MULTI, state);
if (ret < 0) {
/*
* If sending the wiphy data didn't fit (ENOBUFS
* or EMSGSIZE returned), this SKB is still
-@@ -1654,6 +1655,7 @@ static int nl80211_dump_wiphy(struct sk_
+@@ -1661,6 +1662,7 @@ static int nl80211_dump_wiphy(struct sk_
rtnl_unlock();
return 1;
}
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
-@@ -1381,7 +1381,9 @@ static struct usb_driver ath9k_hif_usb_d
+@@ -1365,7 +1365,9 @@ static struct usb_driver ath9k_hif_usb_d
.reset_resume = ath9k_hif_usb_resume,
#endif
.id_table = ath9k_hif_usb_ids,
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
-@@ -2735,6 +2735,9 @@ struct wiphy_coalesce_support {
+@@ -2768,6 +2768,9 @@ struct wiphy_coalesce_support {
struct wiphy {
/* assign these fields before you register the wiphy */
iwl_pcie_free_ict(trans);
pci_disable_msi(trans_pcie->pci_dev);
-@@ -1514,9 +1523,16 @@ struct iwl_trans *iwl_trans_pcie_alloc(s
+@@ -1491,9 +1500,16 @@ struct iwl_trans *iwl_trans_pcie_alloc(s
if (iwl_pcie_alloc_ict(trans))
goto out_free_cmd_pool;
--- a/drivers/net/wireless/iwlwifi/pcie/drv.c
+++ b/drivers/net/wireless/iwlwifi/pcie/drv.c
-@@ -398,6 +398,9 @@ static int iwl_pci_resume(struct device
- return iwl_trans_resume(iwl_trans);
+@@ -404,6 +404,9 @@ static int iwl_pci_resume(struct device
+ return 0;
}
+compat_pci_suspend(iwl_pci_suspend)
static SIMPLE_DEV_PM_OPS(iwl_dev_pm_ops, iwl_pci_suspend, iwl_pci_resume);
#define IWL_PM_OPS (&iwl_dev_pm_ops)
-@@ -413,7 +416,12 @@ static struct pci_driver iwl_pci_driver
+@@ -419,7 +422,12 @@ static struct pci_driver iwl_pci_driver
.id_table = iwl_hw_card_ids,
.probe = iwl_pci_probe,
.remove = iwl_pci_remove,
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
-@@ -1991,6 +1991,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
+@@ -1990,6 +1990,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
goto fail_rcu;
}
if (unlikely(!multicast && skb->sk &&
skb_shinfo(skb)->tx_flags & SKBTX_WIFI_STATUS)) {
struct sk_buff *orig_skb = skb;
-@@ -2019,6 +2020,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
+@@ -2018,6 +2019,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
skb = orig_skb;
}
}
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -1728,6 +1728,7 @@ void ieee80211_sdata_stop(struct ieee802
+@@ -1737,6 +1737,7 @@ void ieee80211_sdata_stop(struct ieee802
* 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;
-@@ -1764,6 +1765,22 @@ void ieee80211_remove_interfaces(struct
+@@ -1773,6 +1774,22 @@ void ieee80211_remove_interfaces(struct
kfree(sdata);
}
}
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
-@@ -1474,6 +1474,10 @@ void ieee80211_xmit(struct ieee80211_sub
+@@ -1473,6 +1473,10 @@ void ieee80211_xmit(struct ieee80211_sub
}
}
--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
-@@ -1205,7 +1205,11 @@ static void ath6kl_set_multicast_list(st
+@@ -1208,7 +1208,11 @@ static void ath6kl_set_multicast_list(st
list_for_each_entry_safe(mc_filter, tmp, &vif->mc_filter, list) {
found = false;
netdev_for_each_mc_addr(ha, ndev) {
ATH6KL_MCAST_FILTER_MAC_ADDR_SIZE) == 0) {
found = true;
break;
-@@ -1239,7 +1243,11 @@ static void ath6kl_set_multicast_list(st
+@@ -1242,7 +1246,11 @@ static void ath6kl_set_multicast_list(st
netdev_for_each_mc_addr(ha, ndev) {
found = false;
list_for_each_entry(mc_filter, &vif->mc_filter, list) {
ATH6KL_MCAST_FILTER_MAC_ADDR_SIZE) == 0) {
found = true;
break;
-@@ -1254,7 +1262,11 @@ static void ath6kl_set_multicast_list(st
+@@ -1257,7 +1265,11 @@ static void ath6kl_set_multicast_list(st
goto out;
}
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
-@@ -103,7 +103,11 @@ static void _brcmf_set_multicast_list(st
+@@ -116,7 +116,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
-@@ -2666,14 +2666,24 @@ struct ieee80211_ops {
+@@ -2681,14 +2681,24 @@ struct ieee80211_ops {
void (*stop_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
u64 (*prepare_multicast)(struct ieee80211_hw *hw,
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -957,7 +957,12 @@ struct ieee80211_local {
+@@ -964,7 +964,12 @@ struct ieee80211_local {
struct work_struct reconfig_filter;
/* aggregated multicast list */
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -794,8 +794,13 @@ static void ieee80211_do_stop(struct iee
+@@ -800,8 +800,13 @@ static void ieee80211_do_stop(struct iee
if (sdata->dev) {
netif_addr_lock_bh(sdata->dev);
spin_lock_bh(&local->filter_lock);
spin_unlock_bh(&local->filter_lock);
netif_addr_unlock_bh(sdata->dev);
}
-@@ -1007,10 +1012,20 @@ static void ieee80211_set_multicast_list
+@@ -1015,10 +1020,20 @@ static void ieee80211_set_multicast_list
if (sdata->vif.type != NL80211_IFTYPE_MONITOR &&
sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
sdata->vif.type != NL80211_IFTYPE_AP)
int retry = 0;
while (atomic_read(&sdiodev->suspend) && retry++ != 30)
wait_event_timeout(*wq, false, HZ/100);
-@@ -406,7 +406,7 @@ static void brcmf_ops_sdio_remove(struct
+@@ -405,7 +405,7 @@ static void brcmf_ops_sdio_remove(struct
brcmf_dbg(SDIO, "Exit\n");
}
static int brcmf_sdio_suspend(struct device *dev)
{
mmc_pm_flag_t sdio_flags;
-@@ -456,7 +456,7 @@ static struct sdio_driver brcmf_sdmmc_dr
+@@ -455,7 +455,7 @@ static struct sdio_driver brcmf_sdmmc_dr
.remove = brcmf_ops_sdio_remove,
.name = BRCMFMAC_SDIO_PDATA_NAME,
.id_table = brcmf_sdmmc_ids,
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -2333,7 +2333,7 @@ static int nl80211_valid_4addr(struct cf
+@@ -2340,7 +2340,7 @@ static int nl80211_valid_4addr(struct cf
enum nl80211_iftype iftype)
{
if (!use_4addr) {
--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
-@@ -1116,6 +1116,7 @@ static struct net_device_stats *ath6kl_g
+@@ -1119,6 +1119,7 @@ static struct net_device_stats *ath6kl_g
return &vif->net_stats;
}
static int ath6kl_set_features(struct net_device *dev,
netdev_features_t features)
{
-@@ -1148,6 +1149,7 @@ static int ath6kl_set_features(struct ne
+@@ -1151,6 +1152,7 @@ static int ath6kl_set_features(struct ne
return err;
}
static void ath6kl_set_multicast_list(struct net_device *ndev)
{
-@@ -1295,7 +1297,9 @@ static const struct net_device_ops ath6k
+@@ -1298,7 +1300,9 @@ static const struct net_device_ops ath6k
.ndo_stop = ath6kl_close,
.ndo_start_xmit = ath6kl_data_tx,
.ndo_get_stats = ath6kl_get_stats,
.ndo_set_rx_mode = ath6kl_set_multicast_list,
};
-@@ -1312,7 +1316,11 @@ void init_netdev(struct net_device *dev)
+@@ -1315,7 +1319,11 @@ void init_netdev(struct net_device *dev)
WMI_MAX_TX_META_SZ +
ATH6KL_HTC_ALIGN_BYTES, 4);
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -5741,7 +5741,9 @@ static int nl80211_dump_scan(struct sk_b
+@@ -5853,7 +5853,9 @@ static int nl80211_dump_scan(struct sk_b
spin_lock_bh(&rdev->bss_lock);
cfg80211_bss_expire(rdev);
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
-@@ -1384,7 +1384,9 @@ static struct usb_driver ath9k_hif_usb_d
+@@ -1368,7 +1368,9 @@ static struct usb_driver ath9k_hif_usb_d
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27))
.soft_unbind = 1,
#endif
--- a/drivers/net/wireless/brcm80211/brcmfmac/usb.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/usb.c
-@@ -1506,7 +1506,9 @@ static struct usb_driver brcmf_usbdrvr =
+@@ -1505,7 +1505,9 @@ static struct usb_driver brcmf_usbdrvr =
.resume = brcmf_usb_resume,
.reset_resume = brcmf_usb_reset_resume,
.supports_autosuspend = 1,
--- a/drivers/usb/class/cdc-wdm.c
+++ b/drivers/usb/class/cdc-wdm.c
-@@ -1060,7 +1060,9 @@ static struct usb_driver wdm_driver = {
+@@ -1065,7 +1065,9 @@ static struct usb_driver wdm_driver = {
.post_reset = wdm_post_reset,
.id_table = wdm_ids,
.supports_autosuspend = 1,
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -7869,7 +7869,7 @@ static int nl80211_parse_wowlan_tcp(stru
+@@ -7982,7 +7982,7 @@ static int nl80211_parse_wowlan_tcp(stru
port = nla_get_u16(tb[NL80211_WOWLAN_TCP_SRC_PORT]);
else
port = 0;
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
-@@ -1330,7 +1330,11 @@ static const struct file_operations fops
+@@ -1261,7 +1261,11 @@ static const struct file_operations fops
static struct dentry *create_buf_file_handler(const char *filename,
struct dentry *parent,