From 6d335d53682000e8d0ba0326021e03d489aac337 Mon Sep 17 00:00:00 2001 From: "Luis R. Rodriguez" Date: Mon, 23 Aug 2010 17:08:08 -0700 Subject: [PATCH] compat-wireless: refresh patches Signed-off-by: Luis R. Rodriguez --- patches/01-netdev.patch | 16 +++++++------- patches/04-netns.patch | 18 ++++++++-------- patches/05-usb.patch | 2 +- patches/08-rename-iwl4965-config.patch | 6 +++--- patches/09-threaded-irq.patch | 8 +++---- patches/10-add-wext-handlers-to-netdev.patch | 4 ++-- patches/12-iw_handler-changes.patch | 2 +- patches/14-device-type.patch | 2 +- patches/15-symbol-export-conflicts.patch | 2 +- patches/17-netdev-queue.patch | 4 ++-- patches/22-multiqueue.patch | 4 ++-- patches/24-pcmcia.patch | 12 +++++------ patches/25-multicast-list_head.patch | 22 ++++++++++---------- patches/26-sdio-quirks.patch | 4 ++-- patches/28-pm-qos-params.patch | 6 +++--- patches/29-libertas_sdio_no_suspend.patch | 4 ++-- patches/30-bridge-port.patch | 2 +- patches/98-add-compat-wireless.patch | 2 +- 18 files changed, 60 insertions(+), 60 deletions(-) diff --git a/patches/01-netdev.patch b/patches/01-netdev.patch index ee29945073f5..bb6b30da401c 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 -@@ -699,7 +699,12 @@ static const struct net_device_ops ieee8 +@@ -707,7 +707,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; } -@@ -844,7 +849,7 @@ static void ieee80211_setup_sdata(struct +@@ -852,7 +857,7 @@ static void ieee80211_setup_sdata(struct /* and set some type-dependent values */ sdata->vif.type = type; @@ -68,7 +68,7 @@ without creating a headache on maintenance of the pathes. sdata->wdev.iftype = type; /* only monitor differs */ -@@ -870,7 +875,7 @@ static void ieee80211_setup_sdata(struct +@@ -878,7 +883,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; -@@ -1051,6 +1056,8 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1059,6 +1064,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 */ -@@ -1059,6 +1066,7 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1067,6 +1074,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) -@@ -1107,6 +1115,10 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1115,6 +1123,10 @@ int ieee80211_if_add(struct ieee80211_lo if (ret) goto fail; @@ -186,7 +186,7 @@ without creating a headache on maintenance of the pathes. --- a/drivers/net/wireless/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/ipw2x00/ipw2100.c -@@ -6126,7 +6126,7 @@ static struct net_device *ipw2100_alloc_ +@@ -6118,7 +6118,7 @@ static struct net_device *ipw2100_alloc_ priv->ieee->perfect_rssi = -20; priv->ieee->worst_rssi = -85; @@ -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 -@@ -1080,7 +1080,7 @@ static const struct net_device_ops hwsim +@@ -1082,7 +1082,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 a10ecdf517e1..7ca6d167d99c 100644 --- a/patches/04-netns.patch +++ b/patches/04-netns.patch @@ -16,7 +16,7 @@ files... }; /* internal helper: get rdev and dev */ -@@ -4376,7 +4378,9 @@ static int nl80211_wiphy_netns(struct sk +@@ -4441,7 +4443,9 @@ static int nl80211_wiphy_netns(struct sk err = cfg80211_switch_netns(rdev, net); out_put_net: @@ -36,15 +36,15 @@ files... int cfg80211_switch_netns(struct cfg80211_registered_device *rdev, struct net *net) { -@@ -259,6 +260,7 @@ int cfg80211_switch_netns(struct cfg8021 +@@ -264,6 +265,7 @@ int cfg80211_switch_netns(struct cfg8021 - return err; + return 0; } +#endif static void cfg80211_rfkill_poll(struct rfkill *rfkill, void *data) { -@@ -371,7 +373,9 @@ struct wiphy *wiphy_new(const struct cfg +@@ -376,7 +378,9 @@ struct wiphy *wiphy_new(const struct cfg rdev->wiphy.flags |= WIPHY_FLAG_PS_ON_BY_DEFAULT; #endif @@ -54,7 +54,7 @@ files... rdev->rfkill_ops.set_block = cfg80211_rfkill_set_block; rdev->rfkill = rfkill_alloc(dev_name(&rdev->wiphy.dev), -@@ -686,8 +690,10 @@ static int cfg80211_netdev_notifier_call +@@ -691,8 +695,10 @@ static int cfg80211_netdev_notifier_call mutex_lock(&rdev->devlist_mtx); list_add_rcu(&wdev->list, &rdev->netdev_list); rdev->devlist_generation++; @@ -65,7 +65,7 @@ files... if (sysfs_create_link(&dev->dev.kobj, &rdev->wiphy.dev.kobj, "phy80211")) { -@@ -831,6 +837,7 @@ static struct notifier_block cfg80211_ne +@@ -836,6 +842,7 @@ static struct notifier_block cfg80211_ne .notifier_call = cfg80211_netdev_notifier_call, }; @@ -73,7 +73,7 @@ files... static void __net_exit cfg80211_pernet_exit(struct net *net) { struct cfg80211_registered_device *rdev; -@@ -848,14 +855,17 @@ static void __net_exit cfg80211_pernet_e +@@ -853,14 +860,17 @@ static void __net_exit cfg80211_pernet_e static struct pernet_operations cfg80211_pernet_ops = { .exit = cfg80211_pernet_exit, }; @@ -91,7 +91,7 @@ files... err = wiphy_sysfs_init(); if (err) -@@ -890,8 +900,10 @@ out_fail_nl80211: +@@ -895,8 +905,10 @@ out_fail_nl80211: out_fail_notifier: wiphy_sysfs_exit(); out_fail_sysfs: @@ -102,7 +102,7 @@ files... return err; } subsys_initcall(cfg80211_init); -@@ -903,7 +915,9 @@ static void __exit cfg80211_exit(void) +@@ -908,7 +920,9 @@ static void __exit cfg80211_exit(void) unregister_netdevice_notifier(&cfg80211_netdev_notifier); wiphy_sysfs_exit(); regulatory_exit(); diff --git a/patches/05-usb.patch b/patches/05-usb.patch index a231b0f06040..a816cdfa835a 100644 --- a/patches/05-usb.patch +++ b/patches/05-usb.patch @@ -14,7 +14,7 @@ USB opt soft_unbid was added as of 2.6.27. static int __init p54u_init(void) --- a/drivers/net/wireless/ath/ath9k/hif_usb.c +++ b/drivers/net/wireless/ath/ath9k/hif_usb.c -@@ -1039,7 +1039,9 @@ static struct usb_driver ath9k_hif_usb_d +@@ -1040,7 +1040,9 @@ static struct usb_driver ath9k_hif_usb_d .reset_resume = ath9k_hif_usb_resume, #endif .id_table = ath9k_hif_usb_ids, diff --git a/patches/08-rename-iwl4965-config.patch b/patches/08-rename-iwl4965-config.patch index bcab068ea117..568314f63e7a 100644 --- a/patches/08-rename-iwl4965-config.patch +++ b/patches/08-rename-iwl4965-config.patch @@ -5,8 +5,8 @@ CONFIG_IWL4965 has to be set to y, to build correctly. --- a/drivers/net/wireless/iwlwifi/Makefile +++ b/drivers/net/wireless/iwlwifi/Makefile -@@ -14,7 +14,7 @@ iwlagn-objs += iwl-agn-ucode.o iwl-agn- - iwlagn-objs += iwl-agn-lib.o iwl-agn-rx.o iwl-agn-calib.o +@@ -15,7 +15,7 @@ iwlagn-objs += iwl-agn-lib.o iwl-agn-rx + iwlagn-objs += iwl-agn-tt.o iwlagn-$(CONFIG_IWLWIFI_DEBUGFS) += iwl-agn-debugfs.o -iwlagn-$(CONFIG_IWL4965) += iwl-4965.o @@ -16,7 +16,7 @@ CONFIG_IWL4965 has to be set to y, to build correctly. iwlagn-$(CONFIG_IWL5000) += iwl-1000.o --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c -@@ -4205,10 +4205,10 @@ static void __devexit iwl_pci_remove(str +@@ -4339,10 +4339,10 @@ static void __devexit iwl_pci_remove(str /* Hardware specific file defines the PCI IDs table for that hardware module */ static DEFINE_PCI_DEVICE_TABLE(iwl_hw_card_ids) = { diff --git a/patches/09-threaded-irq.patch b/patches/09-threaded-irq.patch index cdc506d1a3a8..f09d8eacc29c 100644 --- a/patches/09-threaded-irq.patch +++ b/patches/09-threaded-irq.patch @@ -6,7 +6,7 @@ thread in process context as well. --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c -@@ -3917,8 +3917,13 @@ redo: +@@ -3922,8 +3922,13 @@ redo: if (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) { b43_sdio_free_irq(dev); } else { @@ -20,7 +20,7 @@ thread in process context as well. } mutex_lock(&wl->mutex); dev = wl->current_dev; -@@ -3958,9 +3963,17 @@ static int b43_wireless_core_start(struc +@@ -3963,9 +3968,17 @@ static int b43_wireless_core_start(struc goto out; } } else { @@ -38,7 +38,7 @@ thread in process context as well. if (err) { b43err(dev->wl, "Cannot request IRQ-%d\n", dev->dev->irq); goto out; -@@ -4682,6 +4695,10 @@ static int b43_setup_bands(struct b43_wl +@@ -4694,6 +4707,10 @@ static int b43_setup_bands(struct b43_wl static void b43_wireless_core_detach(struct b43_wldev *dev) { @@ -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 -@@ -882,6 +882,9 @@ struct rt2x00_dev { +@@ -885,6 +885,9 @@ struct rt2x00_dev { * and interrupt thread routine. */ u32 irqvalue[2]; diff --git a/patches/10-add-wext-handlers-to-netdev.patch b/patches/10-add-wext-handlers-to-netdev.patch index 4226516fb9a4..6d2677b900f1 100644 --- a/patches/10-add-wext-handlers-to-netdev.patch +++ b/patches/10-add-wext-handlers-to-netdev.patch @@ -18,7 +18,7 @@ CONFIG_WIRELESS_EXT in compat-wireless. --- a/net/wireless/core.c +++ b/net/wireless/core.c -@@ -361,10 +361,6 @@ struct wiphy *wiphy_new(const struct cfg +@@ -366,10 +366,6 @@ struct wiphy *wiphy_new(const struct cfg INIT_LIST_HEAD(&rdev->bss_list); INIT_WORK(&rdev->scan_done_wk, __cfg80211_scan_done); @@ -29,7 +29,7 @@ CONFIG_WIRELESS_EXT in compat-wireless. device_initialize(&rdev->wiphy.dev); rdev->wiphy.dev.class = &ieee80211_class; rdev->wiphy.dev.platform_data = rdev; -@@ -704,6 +700,8 @@ static int cfg80211_netdev_notifier_call +@@ -709,6 +705,8 @@ static int cfg80211_netdev_notifier_call wdev->sme_state = CFG80211_SME_IDLE; mutex_unlock(&rdev->devlist_mtx); #ifdef CONFIG_CFG80211_WEXT diff --git a/patches/12-iw_handler-changes.patch b/patches/12-iw_handler-changes.patch index 2c4850d21bee..742b50019f74 100644 --- a/patches/12-iw_handler-changes.patch +++ b/patches/12-iw_handler-changes.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/ipw2x00/ipw2100.c -@@ -6129,7 +6129,11 @@ static struct net_device *ipw2100_alloc_ +@@ -6121,7 +6121,11 @@ static struct net_device *ipw2100_alloc_ netdev_attach_ops(dev, &ipw2100_netdev_ops); dev->ethtool_ops = &ipw2100_ethtool_ops; dev->wireless_handlers = &ipw2100_wx_handler_def; diff --git a/patches/14-device-type.patch b/patches/14-device-type.patch index 97e88b6bdd20..8718235f20b9 100644 --- a/patches/14-device-type.patch +++ b/patches/14-device-type.patch @@ -8,7 +8,7 @@ compile warning. --- a/net/wireless/core.c +++ b/net/wireless/core.c -@@ -647,9 +647,11 @@ static void wdev_cleanup_work(struct wor +@@ -652,9 +652,11 @@ static void wdev_cleanup_work(struct wor dev_put(wdev->netdev); } diff --git a/patches/15-symbol-export-conflicts.patch b/patches/15-symbol-export-conflicts.patch index a25981786d5d..04353fdb1b1b 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 -@@ -2666,7 +2666,12 @@ void ieee80211_rx(struct ieee80211_hw *h +@@ -2823,7 +2823,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 8dee91c7479c..63a81962044e 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 -@@ -1155,6 +1155,7 @@ void ieee80211_if_remove(struct ieee8021 +@@ -1163,6 +1163,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; -@@ -1171,6 +1172,22 @@ void ieee80211_remove_interfaces(struct +@@ -1179,6 +1180,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 a1566138d7d4..c6ed5b308be5 100644 --- a/patches/22-multiqueue.patch +++ b/patches/22-multiqueue.patch @@ -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 -@@ -1597,6 +1597,10 @@ static void ieee80211_xmit(struct ieee80 +@@ -1599,6 +1599,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(); -@@ -2068,8 +2072,15 @@ void ieee80211_tx_pending(unsigned long +@@ -2070,8 +2074,15 @@ 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/24-pcmcia.patch b/patches/24-pcmcia.patch index 5beda460b09b..54686451075d 100644 --- a/patches/24-pcmcia.patch +++ b/patches/24-pcmcia.patch @@ -594,7 +594,7 @@ res = pcmcia_request_configuration(dev, &dev->conf); --- a/drivers/net/wireless/libertas/if_cs.c +++ b/drivers/net/wireless/libertas/if_cs.c -@@ -776,7 +776,11 @@ static void if_cs_release(struct pcmcia_ +@@ -774,7 +774,11 @@ static void if_cs_release(struct pcmcia_ lbs_deb_enter(LBS_DEB_CS); @@ -606,7 +606,7 @@ pcmcia_disable_device(p_dev); if (card->iobase) ioport_unmap(card->iobase); -@@ -801,9 +805,15 @@ static int if_cs_ioprobe(struct pcmcia_d +@@ -799,9 +803,15 @@ static int if_cs_ioprobe(struct pcmcia_d unsigned int vcc, void *priv_data) { @@ -622,7 +622,7 @@ /* Do we need to allocate an interrupt? */ p_dev->conf.Attributes |= CONF_ENABLE_IRQ; -@@ -815,7 +825,11 @@ static int if_cs_ioprobe(struct pcmcia_d +@@ -813,7 +823,11 @@ static int if_cs_ioprobe(struct pcmcia_d } /* This reserves IO space but doesn't actually enable it */ @@ -646,7 +646,7 @@ p_dev->conf.Attributes = 0; p_dev->conf.IntType = INT_MEMORY_AND_IO; -@@ -849,12 +868,26 @@ static int if_cs_probe(struct pcmcia_dev +@@ -848,12 +867,26 @@ static int if_cs_probe(struct pcmcia_dev * a handler to the interrupt, unless the 'Handler' member of * the irq structure is initialized. */ @@ -673,7 +673,7 @@ if (!card->iobase) { lbs_pr_err("error in ioport_map\n"); ret = -EIO; -@@ -873,7 +906,17 @@ static int if_cs_probe(struct pcmcia_dev +@@ -872,7 +905,17 @@ static int if_cs_probe(struct pcmcia_dev } /* Finally, report what we've done */ @@ -691,7 +691,7 @@ /* * Most of the libertas cards can do unaligned register access, but some -@@ -929,7 +972,11 @@ static int if_cs_probe(struct pcmcia_dev +@@ -941,7 +984,11 @@ static int if_cs_probe(struct pcmcia_dev priv->fw_ready = 1; /* Now actually get the IRQ */ diff --git a/patches/25-multicast-list_head.patch b/patches/25-multicast-list_head.patch index 524b9a64e3ea..85ead25b007c 100644 --- a/patches/25-multicast-list_head.patch +++ b/patches/25-multicast-list_head.patch @@ -124,7 +124,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 return mc_filter[0] | ((u64)(mc_filter[1]) << 32); --- a/drivers/net/wireless/ath/ar9170/main.c +++ b/drivers/net/wireless/ath/ar9170/main.c -@@ -1608,17 +1608,35 @@ out: +@@ -1607,17 +1607,35 @@ out: return err; } @@ -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, -@@ -3169,20 +3173,42 @@ unlock: +@@ -3163,20 +3167,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)); -@@ -3191,6 +3217,9 @@ static u64 ath5k_prepare_multicast(struc +@@ -3185,6 +3211,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]); */ @@ -433,7 +433,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 --- a/drivers/net/wireless/rtl818x/rtl8180_dev.c +++ b/drivers/net/wireless/rtl818x/rtl8180_dev.c -@@ -812,10 +812,19 @@ static void rtl8180_bss_info_changed(str +@@ -822,10 +822,19 @@ static void rtl8180_bss_info_changed(str } } @@ -455,7 +455,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 static void rtl8180_configure_filter(struct ieee80211_hw *dev, --- a/drivers/net/wireless/rtl818x/rtl8187_dev.c +++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c -@@ -1193,9 +1193,17 @@ static void rtl8187_bss_info_changed(str +@@ -1192,9 +1192,17 @@ static void rtl8187_bss_info_changed(str } static u64 rtl8187_prepare_multicast(struct ieee80211_hw *dev, @@ -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 -@@ -1702,7 +1702,11 @@ struct ieee80211_ops { +@@ -1701,7 +1701,11 @@ struct ieee80211_ops { struct ieee80211_bss_conf *info, u32 changed); u64 (*prepare_multicast)(struct ieee80211_hw *hw, @@ -637,7 +637,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -666,7 +666,12 @@ struct ieee80211_local { +@@ -672,7 +672,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 -@@ -392,7 +392,12 @@ static int ieee80211_stop(struct net_dev +@@ -396,7 +396,12 @@ static int ieee80211_stop(struct net_dev netif_addr_lock_bh(dev); spin_lock_bh(&local->filter_lock); @@ -665,7 +665,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 spin_unlock_bh(&local->filter_lock); netif_addr_unlock_bh(dev); -@@ -572,7 +577,12 @@ static void ieee80211_set_multicast_list +@@ -580,7 +585,12 @@ static void ieee80211_set_multicast_list sdata->flags ^= IEEE80211_SDATA_PROMISC; } spin_lock_bh(&local->filter_lock); @@ -692,7 +692,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 spin_unlock_bh(&local->filter_lock); /* be a bit nasty */ -@@ -451,9 +455,11 @@ struct ieee80211_hw *ieee80211_alloc_hw( +@@ -515,9 +519,11 @@ struct ieee80211_hw *ieee80211_alloc_hw( local->uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN; INIT_LIST_HEAD(&local->interfaces); @@ -702,5 +702,5 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 +#endif mutex_init(&local->iflist_mtx); - mutex_init(&local->scan_mtx); + mutex_init(&local->mtx); diff --git a/patches/26-sdio-quirks.patch b/patches/26-sdio-quirks.patch index 1fd80389e1b4..603094623f44 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 -@@ -1025,6 +1025,7 @@ static int if_sdio_probe(struct sdio_fun +@@ -982,6 +982,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. */ -@@ -1043,6 +1044,7 @@ static int if_sdio_probe(struct sdio_fun +@@ -1000,6 +1001,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 e28d7a7b61cc..9f0024760bb7 100644 --- a/patches/28-pm-qos-params.patch +++ b/patches/28-pm-qos-params.patch @@ -57,7 +57,7 @@ little wierd. /* We have to signal any supplicant if we are disassociating */ if (associated) -@@ -6669,8 +6686,16 @@ static int __init ipw2100_init(void) +@@ -6661,8 +6678,16 @@ static int __init ipw2100_init(void) printk(KERN_INFO DRV_NAME ": %s, %s\n", DRV_DESCRIPTION, DRV_VERSION); printk(KERN_INFO DRV_NAME ": %s\n", DRV_COPYRIGHT); @@ -74,7 +74,7 @@ little wierd. ret = pci_register_driver(&ipw2100_pci_driver); if (ret) -@@ -6697,7 +6722,13 @@ static void __exit ipw2100_exit(void) +@@ -6689,7 +6714,13 @@ static void __exit ipw2100_exit(void) &driver_attr_debug_level); #endif pci_unregister_driver(&ipw2100_pci_driver); @@ -104,7 +104,7 @@ little wierd. found->vif.bss_conf.beacon_int); --- a/net/mac80211/scan.c +++ b/net/mac80211/scan.c -@@ -500,7 +500,11 @@ static int ieee80211_scan_state_decision +@@ -502,7 +502,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 f5dc993d01fe..fc29fbd4e01b 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 -@@ -1212,6 +1212,7 @@ static void if_sdio_remove(struct sdio_f +@@ -1161,6 +1161,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); -@@ -1266,15 +1267,18 @@ static const struct dev_pm_ops if_sdio_p +@@ -1215,15 +1216,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 1ee46616732e..56f7906b0b7f 100644 --- a/patches/30-bridge-port.patch +++ b/patches/30-bridge-port.patch @@ -34,7 +34,7 @@ compat-wireless. --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -1140,7 +1140,7 @@ static int nl80211_valid_4addr(struct cf +@@ -1190,7 +1190,7 @@ static int nl80211_valid_4addr(struct cf enum nl80211_iftype iftype) { if (!use_4addr) { diff --git a/patches/98-add-compat-wireless.patch b/patches/98-add-compat-wireless.patch index 5e637ad43237..76def9a35aca 100644 --- a/patches/98-add-compat-wireless.patch +++ b/patches/98-add-compat-wireless.patch @@ -27,4 +27,4 @@ added compat.h also for ssb, I forget. +#include - /* + /** -- 2.30.2