--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
-@@ -1175,7 +1175,7 @@ static const struct net_device_ops ath6k
+@@ -1201,7 +1201,7 @@ static const struct net_device_ops ath6k
void init_netdev(struct net_device *dev)
{
#define LBS_DEB_LEAVE 0x00000002
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
-@@ -1282,7 +1282,7 @@ static const struct net_device_ops hwsim
+@@ -1283,7 +1283,7 @@ static const struct net_device_ops hwsim
static void hwsim_mon_setup(struct net_device *dev)
{
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -5207,7 +5207,9 @@ static int nl80211_wiphy_netns(struct sk
+@@ -5215,7 +5215,9 @@ static int nl80211_wiphy_netns(struct sk
if (!net_eq(wiphy_net(&rdev->wiphy), net))
err = cfg80211_switch_netns(rdev, net);
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
-@@ -2009,6 +2009,9 @@ struct wiphy_wowlan_support {
+@@ -2012,6 +2012,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
-@@ -4180,8 +4180,13 @@ redo:
+@@ -4193,8 +4193,13 @@ redo:
if (b43_bus_host_is_sdio(dev->dev)) {
b43_sdio_free_irq(dev);
} else {
}
mutex_lock(&wl->mutex);
dev = wl->current_dev;
-@@ -4223,9 +4228,17 @@ static int b43_wireless_core_start(struc
+@@ -4236,9 +4241,17 @@ static int b43_wireless_core_start(struc
goto out;
}
} else {
if (err) {
b43err(dev->wl, "Cannot request IRQ-%d\n",
dev->dev->irq);
-@@ -5013,6 +5026,10 @@ static int b43_setup_bands(struct b43_wl
+@@ -5026,6 +5039,10 @@ static int b43_setup_bands(struct b43_wl
static void b43_wireless_core_detach(struct b43_wldev *dev)
{
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
-@@ -1949,6 +1949,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
+@@ -1955,6 +1955,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;
-@@ -1987,6 +1988,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
+@@ -1993,6 +1994,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
skb = orig_skb;
}
}
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
-@@ -3112,7 +3112,12 @@ void ieee80211_rx(struct ieee80211_hw *h
+@@ -3105,7 +3105,12 @@ void ieee80211_rx(struct ieee80211_hw *h
drop:
kfree_skb(skb);
}
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
-@@ -530,7 +530,14 @@ static int l2cap_sock_setsockopt_old(str
+@@ -531,7 +531,14 @@ static int l2cap_sock_setsockopt_old(str
return err;
}
{
struct sock *sk = sock->sk;
struct l2cap_chan *chan = l2cap_pi(sk)->chan;
-@@ -1058,8 +1065,12 @@ static struct sock *l2cap_sock_alloc(str
+@@ -1059,8 +1066,12 @@ static struct sock *l2cap_sock_alloc(str
return sk;
}
{
struct sock *sk;
-@@ -1071,7 +1082,11 @@ static int l2cap_sock_create(struct net
+@@ -1072,7 +1083,11 @@ static int l2cap_sock_create(struct net
sock->type != SOCK_DGRAM && sock->type != SOCK_RAW)
return -ESOCKTNOSUPPORT;
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
-@@ -1469,6 +1469,10 @@ void ieee80211_xmit(struct ieee80211_sub
+@@ -1475,6 +1475,10 @@ void ieee80211_xmit(struct ieee80211_sub
return;
}
ieee80211_set_qos_hdr(sdata, skb);
ieee80211_tx(sdata, skb, false);
rcu_read_unlock();
-@@ -2204,7 +2208,14 @@ void ieee80211_tx_pending(unsigned long
+@@ -2210,7 +2214,14 @@ void ieee80211_tx_pending(unsigned long
if (skb_queue_empty(&local->pending[i]))
list_for_each_entry_rcu(sdata, &local->interfaces, list)
}
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
-@@ -2190,7 +2190,11 @@ struct ieee80211_ops {
- enum ieee80211_tx_sync_type type);
+@@ -2150,7 +2150,11 @@ struct ieee80211_ops {
+ u32 changed);
u64 (*prepare_multicast)(struct ieee80211_hw *hw,
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
}
--- a/net/mac80211/driver-ops.h
+++ b/net/mac80211/driver-ops.h
-@@ -204,14 +204,28 @@ static inline void drv_finish_tx_sync(st
+@@ -169,14 +169,28 @@ static inline void drv_bss_info_changed(
}
static inline u64 drv_prepare_multicast(struct ieee80211_local *local,
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -849,7 +849,12 @@ struct ieee80211_local {
+@@ -848,7 +848,12 @@ struct ieee80211_local {
struct work_struct recalc_smps;
/* aggregated multicast list */
--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
-@@ -2152,7 +2152,7 @@ int ath6kl_cfg80211_resume(struct ath6kl
+@@ -2240,7 +2240,7 @@ int ath6kl_cfg80211_resume(struct ath6kl
}
EXPORT_SYMBOL(ath6kl_cfg80211_resume);
/* hif layer decides what suspend mode to use */
static int __ath6kl_cfg80211_suspend(struct wiphy *wiphy,
-@@ -2790,7 +2790,7 @@ static struct cfg80211_ops ath6kl_cfg802
+@@ -2951,7 +2951,7 @@ static struct cfg80211_ops ath6kl_cfg802
.del_pmksa = ath6kl_del_pmksa,
.flush_pmksa = ath6kl_flush_pmksa,
CFG80211_TESTMODE_CMD(ath6kl_tm_cmd)
#endif
--- a/drivers/net/wireless/ath/ath6kl/hif-ops.h
+++ b/drivers/net/wireless/ath/ath6kl/hif-ops.h
-@@ -83,6 +83,7 @@ static inline void ath6kl_hif_cleanup_sc
+@@ -84,6 +84,7 @@ static inline void ath6kl_hif_cleanup_sc
return ar->hif_ops->cleanup_scatter(ar);
}
static inline int ath6kl_hif_suspend(struct ath6kl *ar,
struct cfg80211_wowlan *wow)
{
-@@ -90,6 +91,7 @@ static inline int ath6kl_hif_suspend(str
+@@ -91,6 +92,7 @@ static inline int ath6kl_hif_suspend(str
return ar->hif_ops->suspend(ar, wow);
}
/*
* Read from the ATH6KL through its diagnostic window. No cooperation from
-@@ -121,12 +123,14 @@ static inline int ath6kl_hif_bmi_write(s
+@@ -122,12 +124,14 @@ static inline int ath6kl_hif_bmi_write(s
return ar->hif_ops->bmi_write(ar, buf, len);
}
{
--- a/drivers/net/wireless/ath/ath6kl/sdio.c
+++ b/drivers/net/wireless/ath/ath6kl/sdio.c
-@@ -808,6 +808,7 @@ static int ath6kl_set_sdio_pm_caps(struc
+@@ -836,6 +836,7 @@ static int ath6kl_set_sdio_pm_caps(struc
return ret;
}
static int ath6kl_sdio_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow)
{
struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
-@@ -909,6 +910,7 @@ static int ath6kl_sdio_resume(struct ath
+@@ -953,6 +954,7 @@ static int ath6kl_sdio_resume(struct ath
return 0;
}
/* set the window address register (using 4-byte register access ). */
static int ath6kl_set_addrwin_reg(struct ath6kl *ar, u32 reg_addr, u32 addr)
-@@ -1210,8 +1212,10 @@ static const struct ath6kl_hif_ops ath6k
+@@ -1254,8 +1256,10 @@ static const struct ath6kl_hif_ops ath6k
.enable_scatter = ath6kl_sdio_enable_scatter,
.scat_req_rw = ath6kl_sdio_async_rw_scatter,
.cleanup_scatter = ath6kl_sdio_cleanup_scatter,
.diag_read32 = ath6kl_sdio_diag_read32,
.diag_write32 = ath6kl_sdio_diag_write32,
.bmi_read = ath6kl_sdio_bmi_read,
-@@ -1221,7 +1225,7 @@ static const struct ath6kl_hif_ops ath6k
+@@ -1265,7 +1269,7 @@ static const struct ath6kl_hif_ops ath6k
.stop = ath6kl_sdio_stop,
};
/*
* Empty handlers so that mmc subsystem doesn't remove us entirely during
-@@ -1370,7 +1374,9 @@ static struct sdio_driver ath6kl_sdio_dr
+@@ -1415,7 +1419,9 @@ static struct sdio_driver ath6kl_sdio_dr
.id_table = ath6kl_sdio_devices,
.probe = ath6kl_sdio_probe,
.remove = ath6kl_sdio_remove,
ntype == NL80211_IFTYPE_P2P_CLIENT))
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -1598,7 +1598,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) {
#endif /* ATLX_C */
--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
-@@ -1022,6 +1022,7 @@ static struct net_device_stats *ath6kl_g
+@@ -1048,6 +1048,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)
{
-@@ -1054,6 +1055,7 @@ static int ath6kl_set_features(struct ne
+@@ -1080,6 +1081,7 @@ static int ath6kl_set_features(struct ne
return err;
}
static void ath6kl_set_multicast_list(struct net_device *ndev)
{
-@@ -1169,7 +1171,9 @@ static const struct net_device_ops ath6k
+@@ -1195,7 +1197,9 @@ static const struct net_device_ops ath6k
.ndo_stop = ath6kl_close,
.ndo_start_xmit = ath6kl_data_tx,
.ndo_get_stats = ath6kl_get_stats,
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -4217,7 +4217,9 @@ static int nl80211_dump_scan(struct sk_b
+@@ -4218,7 +4218,9 @@ static int nl80211_dump_scan(struct sk_b
spin_lock_bh(&rdev->bss_lock);
cfg80211_bss_expire(rdev);
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
-@@ -3407,11 +3407,11 @@ static void b43_op_tx(struct ieee80211_h
+@@ -3419,11 +3419,11 @@ static void b43_op_tx(struct ieee80211_h
}
B43_WARN_ON(skb_shinfo(skb)->nr_frags);
--- a/drivers/net/wireless/b43legacy/main.c
+++ b/drivers/net/wireless/b43legacy/main.c
-@@ -2493,11 +2493,11 @@ static void b43legacy_op_tx(struct ieee8
+@@ -2503,11 +2503,11 @@ static void b43legacy_op_tx(struct ieee8
}
B43legacy_WARN_ON(skb_shinfo(skb)->nr_frags);