From cfe95b08f248d87bf391bb039b5b0a9eb60d673f Mon Sep 17 00:00:00 2001 From: "Luis R. Rodriguez" Date: Mon, 30 Aug 2010 14:01:30 -0700 Subject: [PATCH] compat-wireless: refresh patches Signed-off-by: Luis R. Rodriguez --- patches/01-netdev.patch | 16 ++++++++-------- patches/04-netns.patch | 2 +- patches/09-threaded-irq.patch | 2 +- patches/15-symbol-export-conflicts.patch | 2 +- patches/17-netdev-queue.patch | 4 ++-- patches/22-multiqueue.patch | 10 +++++----- patches/25-multicast-list_head.patch | 20 ++++++++++---------- patches/26-sdio-quirks.patch | 4 ++-- patches/28-pm-qos-params.patch | 2 +- patches/29-libertas_sdio_no_suspend.patch | 4 ++-- patches/30-bridge-port.patch | 4 ++-- 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/patches/01-netdev.patch b/patches/01-netdev.patch index 17b4b112cf9a..2c3cd7e3bef1 100644 --- a/patches/01-netdev.patch +++ b/patches/01-netdev.patch @@ -45,7 +45,7 @@ without creating a headache on maintenance of the pathes. retval = rndis_set_oid(usbdev, OID_GEN_CURRENT_PACKET_FILTER, &tmp, --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c -@@ -707,7 +707,12 @@ static const struct net_device_ops ieee8 +@@ -698,7 +698,12 @@ static const struct net_device_ops ieee8 static void ieee80211_if_setup(struct net_device *dev) { ether_setup(dev); @@ -59,7 +59,7 @@ without creating a headache on maintenance of the pathes. dev->destructor = free_netdev; } -@@ -852,7 +857,7 @@ static void ieee80211_setup_sdata(struct +@@ -843,7 +848,7 @@ static void ieee80211_setup_sdata(struct /* and set some type-dependent values */ sdata->vif.type = type; @@ -67,8 +67,8 @@ without creating a headache on maintenance of the pathes. + netdev_attach_ops(sdata->dev, &ieee80211_dataif_ops); sdata->wdev.iftype = type; - /* only monitor differs */ -@@ -878,7 +883,7 @@ static void ieee80211_setup_sdata(struct + sdata->control_port_protocol = cpu_to_be16(ETH_P_PAE); +@@ -872,7 +877,7 @@ static void ieee80211_setup_sdata(struct break; case NL80211_IFTYPE_MONITOR: sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP; @@ -77,7 +77,7 @@ without creating a headache on maintenance of the pathes. sdata->u.mntr_flags = MONITOR_FLAG_CONTROL | MONITOR_FLAG_OTHER_BSS; break; -@@ -1059,6 +1064,8 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1113,6 +1118,8 @@ int ieee80211_if_add(struct ieee80211_lo return -ENOMEM; dev_net_set(ndev, wiphy_net(local->hw.wiphy)); @@ -86,7 +86,7 @@ without creating a headache on maintenance of the pathes. ndev->needed_headroom = local->tx_headroom + 4*6 /* four MAC addresses */ + 2 + 2 + 2 + 2 /* ctl, dur, seq, qos */ -@@ -1067,6 +1074,7 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1121,6 +1128,7 @@ int ieee80211_if_add(struct ieee80211_lo - ETH_HLEN /* ethernet hard_header_len */ + IEEE80211_ENCRYPT_HEADROOM; ndev->needed_tailroom = IEEE80211_ENCRYPT_TAILROOM; @@ -94,7 +94,7 @@ without creating a headache on maintenance of the pathes. ret = dev_alloc_name(ndev, ndev->name); if (ret < 0) -@@ -1115,6 +1123,10 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1169,6 +1177,10 @@ int ieee80211_if_add(struct ieee80211_lo if (ret) goto fail; @@ -267,7 +267,7 @@ without creating a headache on maintenance of the pathes. #define LBS_DEB_LEAVE 0x00000002 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c -@@ -1082,7 +1082,7 @@ static const struct net_device_ops hwsim +@@ -1095,7 +1095,7 @@ static const struct net_device_ops hwsim static void hwsim_mon_setup(struct net_device *dev) { diff --git a/patches/04-netns.patch b/patches/04-netns.patch index 7ca6d167d99c..b631961588b6 100644 --- a/patches/04-netns.patch +++ b/patches/04-netns.patch @@ -16,7 +16,7 @@ files... }; /* internal helper: get rdev and dev */ -@@ -4441,7 +4443,9 @@ static int nl80211_wiphy_netns(struct sk +@@ -4462,7 +4464,9 @@ static int nl80211_wiphy_netns(struct sk err = cfg80211_switch_netns(rdev, net); out_put_net: diff --git a/patches/09-threaded-irq.patch b/patches/09-threaded-irq.patch index f09d8eacc29c..80ad414f7df9 100644 --- a/patches/09-threaded-irq.patch +++ b/patches/09-threaded-irq.patch @@ -63,7 +63,7 @@ thread in process context as well. /* Data structure for the WLAN parts (802.11 cores) of the b43 chip. */ --- a/drivers/net/wireless/rt2x00/rt2x00.h +++ b/drivers/net/wireless/rt2x00/rt2x00.h -@@ -885,6 +885,9 @@ struct rt2x00_dev { +@@ -883,6 +883,9 @@ struct rt2x00_dev { * and interrupt thread routine. */ u32 irqvalue[2]; diff --git a/patches/15-symbol-export-conflicts.patch b/patches/15-symbol-export-conflicts.patch index 04353fdb1b1b..036e4141b27c 100644 --- a/patches/15-symbol-export-conflicts.patch +++ b/patches/15-symbol-export-conflicts.patch @@ -3,7 +3,7 @@ To avoid conflicts with the other export we rename our. --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -2823,7 +2823,12 @@ void ieee80211_rx(struct ieee80211_hw *h +@@ -2830,7 +2830,12 @@ void ieee80211_rx(struct ieee80211_hw *h drop: kfree_skb(skb); } diff --git a/patches/17-netdev-queue.patch b/patches/17-netdev-queue.patch index 63a81962044e..906dae18c6b5 100644 --- a/patches/17-netdev-queue.patch +++ b/patches/17-netdev-queue.patch @@ -14,7 +14,7 @@ The patch that introduced this on mac80211 was: --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c -@@ -1163,6 +1163,7 @@ void ieee80211_if_remove(struct ieee8021 +@@ -1217,6 +1217,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. */ @@ -22,7 +22,7 @@ The patch that introduced this on mac80211 was: void ieee80211_remove_interfaces(struct ieee80211_local *local) { struct ieee80211_sub_if_data *sdata, *tmp; -@@ -1179,6 +1180,22 @@ void ieee80211_remove_interfaces(struct +@@ -1233,6 +1234,22 @@ void ieee80211_remove_interfaces(struct mutex_unlock(&local->iflist_mtx); unregister_netdevice_many(&unreg_list); } diff --git a/patches/22-multiqueue.patch b/patches/22-multiqueue.patch index 1093097460f2..a16357edea15 100644 --- a/patches/22-multiqueue.patch +++ b/patches/22-multiqueue.patch @@ -46,7 +46,7 @@ queue by using skb_set_queue_mapping(skb, 0) through ieee80211_tx_skb() --- a/net/mac80211/util.c +++ b/net/mac80211/util.c -@@ -264,6 +264,18 @@ +@@ -264,6 +264,18 @@ __le16 ieee80211_ctstoself_duration(stru } EXPORT_SYMBOL(ieee80211_ctstoself_duration); @@ -65,7 +65,7 @@ queue by using skb_set_queue_mapping(skb, 0) through ieee80211_tx_skb() static void __ieee80211_wake_queue(struct ieee80211_hw *hw, int queue, enum queue_stop_reason reason) { -@@ -286,7 +298,14 @@ +@@ -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; @@ -80,7 +80,7 @@ queue by using skb_set_queue_mapping(skb, 0) through ieee80211_tx_skb() } rcu_read_unlock(); } else -@@ -326,7 +345,13 @@ +@@ -326,7 +345,13 @@ static void __ieee80211_stop_queue(struc rcu_read_lock(); list_for_each_entry_rcu(sdata, &local->interfaces, list) @@ -96,7 +96,7 @@ queue by using skb_set_queue_mapping(skb, 0) through ieee80211_tx_skb() --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -1620,6 +1620,10 @@ +@@ -1620,6 +1620,10 @@ static void ieee80211_xmit(struct ieee80 return; } @@ -107,7 +107,7 @@ queue by using skb_set_queue_mapping(skb, 0) through ieee80211_tx_skb() ieee80211_set_qos_hdr(local, skb); ieee80211_tx(sdata, skb, false); rcu_read_unlock(); -@@ -2092,7 +2096,14 @@ +@@ -2092,7 +2096,14 @@ void ieee80211_tx_pending(unsigned long if (skb_queue_empty(&local->pending[i])) list_for_each_entry_rcu(sdata, &local->interfaces, list) diff --git a/patches/25-multicast-list_head.patch b/patches/25-multicast-list_head.patch index 4b0fdf29bce0..861a304cfba8 100644 --- a/patches/25-multicast-list_head.patch +++ b/patches/25-multicast-list_head.patch @@ -174,7 +174,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 static void ath5k_configure_filter(struct ieee80211_hw *hw, unsigned int changed_flags, unsigned int *new_flags, -@@ -3163,20 +3167,42 @@ unlock: +@@ -3165,20 +3169,42 @@ unlock: } static u64 ath5k_prepare_multicast(struct ieee80211_hw *hw, @@ -217,7 +217,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 pos ^= (val >> 18) ^ (val >> 12) ^ (val >> 6) ^ val; pos &= 0x3f; mfilt[pos / 32] |= (1 << (pos % 32)); -@@ -3185,6 +3211,9 @@ static u64 ath5k_prepare_multicast(struc +@@ -3187,6 +3213,9 @@ static u64 ath5k_prepare_multicast(struc * neet to inform below to not reset the mcast */ /* ath5k_hw_set_mcast_filterindex(ah, * ha->addr[5]); */ @@ -393,7 +393,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 if (cmd != NULL) { --- a/drivers/net/wireless/orinoco/hw.c +++ b/drivers/net/wireless/orinoco/hw.c -@@ -1090,7 +1090,11 @@ int __orinoco_hw_set_multicast_list(stru +@@ -1093,7 +1093,11 @@ int __orinoco_hw_set_multicast_list(stru netdev_for_each_mc_addr(ha, dev) { if (i == mc_count) break; @@ -475,7 +475,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 static void rtl8187_configure_filter(struct ieee80211_hw *dev, --- a/drivers/net/wireless/wl12xx/wl1271_main.c +++ b/drivers/net/wireless/wl12xx/wl1271_main.c -@@ -1325,11 +1325,20 @@ struct wl1271_filter_params { +@@ -1323,11 +1323,20 @@ struct wl1271_filter_params { u8 mc_list[ACX_MC_ADDRESS_GROUP_MAX][ETH_ALEN]; }; @@ -496,7 +496,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 struct wl1271 *wl = hw->priv; if (unlikely(wl->state == WL1271_STATE_OFF)) -@@ -1342,16 +1351,40 @@ static u64 wl1271_op_prepare_multicast(s +@@ -1340,16 +1349,40 @@ static u64 wl1271_op_prepare_multicast(s } /* update multicast filtering parameters */ @@ -576,7 +576,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 return hash.low | ((u64)hash.high << 32); --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -1701,7 +1701,11 @@ struct ieee80211_ops { +@@ -1710,7 +1710,11 @@ struct ieee80211_ops { struct ieee80211_bss_conf *info, u32 changed); u64 (*prepare_multicast)(struct ieee80211_hw *hw, @@ -606,7 +606,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 } --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h -@@ -90,14 +90,28 @@ static inline void drv_bss_info_changed( +@@ -104,14 +104,28 @@ static inline void drv_bss_info_changed( } static inline u64 drv_prepare_multicast(struct ieee80211_local *local, @@ -637,7 +637,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -672,7 +672,12 @@ struct ieee80211_local { +@@ -691,7 +691,12 @@ struct ieee80211_local { struct work_struct recalc_smps; /* aggregated multicast list */ @@ -652,7 +652,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c -@@ -417,8 +417,13 @@ +@@ -417,8 +417,13 @@ static void ieee80211_do_stop(struct iee netif_addr_lock_bh(sdata->dev); spin_lock_bh(&local->filter_lock); @@ -666,7 +666,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 spin_unlock_bh(&local->filter_lock); netif_addr_unlock_bh(sdata->dev); -@@ -602,7 +607,12 @@ +@@ -602,7 +607,12 @@ static void ieee80211_set_multicast_list sdata->flags ^= IEEE80211_SDATA_PROMISC; } spin_lock_bh(&local->filter_lock); diff --git a/patches/26-sdio-quirks.patch b/patches/26-sdio-quirks.patch index 603094623f44..d0ce1a07118e 100644 --- a/patches/26-sdio-quirks.patch +++ b/patches/26-sdio-quirks.patch @@ -2,7 +2,7 @@ The quirks attribute is not available on older kernels. --- a/drivers/net/wireless/libertas/if_sdio.c +++ b/drivers/net/wireless/libertas/if_sdio.c -@@ -982,6 +982,7 @@ static int if_sdio_probe(struct sdio_fun +@@ -984,6 +984,7 @@ static int if_sdio_probe(struct sdio_fun if (ret) goto disable; @@ -10,7 +10,7 @@ The quirks attribute is not available on older kernels. /* For 1-bit transfers to the 8686 model, we need to enable the * interrupt flag in the CCCR register. Set the MMC_QUIRK_LENIENT_FN0 * bit to allow access to non-vendor registers. */ -@@ -1000,6 +1001,7 @@ static int if_sdio_probe(struct sdio_fun +@@ -1002,6 +1003,7 @@ static int if_sdio_probe(struct sdio_fun if (ret) goto release_int; } diff --git a/patches/28-pm-qos-params.patch b/patches/28-pm-qos-params.patch index 9f0024760bb7..db87bc726618 100644 --- a/patches/28-pm-qos-params.patch +++ b/patches/28-pm-qos-params.patch @@ -104,7 +104,7 @@ little wierd. found->vif.bss_conf.beacon_int); --- a/net/mac80211/scan.c +++ b/net/mac80211/scan.c -@@ -502,7 +502,11 @@ static int ieee80211_scan_state_decision +@@ -512,7 +512,11 @@ static int ieee80211_scan_state_decision bad_latency = time_after(jiffies + ieee80211_scan_get_channel_time(next_chan), local->leave_oper_channel_time + diff --git a/patches/29-libertas_sdio_no_suspend.patch b/patches/29-libertas_sdio_no_suspend.patch index fc29fbd4e01b..04d5b07bd0af 100644 --- a/patches/29-libertas_sdio_no_suspend.patch +++ b/patches/29-libertas_sdio_no_suspend.patch @@ -5,7 +5,7 @@ suspend and resume that are not backported. --- a/drivers/net/wireless/libertas/if_sdio.c +++ b/drivers/net/wireless/libertas/if_sdio.c -@@ -1161,6 +1161,7 @@ static void if_sdio_remove(struct sdio_f +@@ -1171,6 +1171,7 @@ static void if_sdio_remove(struct sdio_f lbs_deb_leave(LBS_DEB_SDIO); } @@ -13,7 +13,7 @@ suspend and resume that are not backported. static int if_sdio_suspend(struct device *dev) { struct sdio_func *func = dev_to_sdio_func(dev); -@@ -1215,15 +1216,18 @@ static const struct dev_pm_ops if_sdio_p +@@ -1225,15 +1226,18 @@ static const struct dev_pm_ops if_sdio_p .suspend = if_sdio_suspend, .resume = if_sdio_resume, }; diff --git a/patches/30-bridge-port.patch b/patches/30-bridge-port.patch index 56f7906b0b7f..c2f9b3af34f1 100644 --- a/patches/30-bridge-port.patch +++ b/patches/30-bridge-port.patch @@ -23,7 +23,7 @@ compat-wireless. --- a/net/wireless/util.c +++ b/net/wireless/util.c -@@ -770,7 +770,7 @@ int cfg80211_change_iface(struct cfg8021 +@@ -777,7 +777,7 @@ int cfg80211_change_iface(struct cfg8021 return -EOPNOTSUPP; /* if it's part of a bridge, reject changing type to station/ibss */ @@ -34,7 +34,7 @@ compat-wireless. --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -1190,7 +1190,7 @@ static int nl80211_valid_4addr(struct cf +@@ -1197,7 +1197,7 @@ static int nl80211_valid_4addr(struct cf enum nl80211_iftype iftype) { if (!use_4addr) { -- 2.30.2