compat-wireless: refresh patches
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Tue, 24 Aug 2010 00:08:08 +0000 (17:08 -0700)
committerLuis R. Rodriguez <lrodriguez@atheros.com>
Tue, 24 Aug 2010 00:08:08 +0000 (17:08 -0700)
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
18 files changed:
patches/01-netdev.patch
patches/04-netns.patch
patches/05-usb.patch
patches/08-rename-iwl4965-config.patch
patches/09-threaded-irq.patch
patches/10-add-wext-handlers-to-netdev.patch
patches/12-iw_handler-changes.patch
patches/14-device-type.patch
patches/15-symbol-export-conflicts.patch
patches/17-netdev-queue.patch
patches/22-multiqueue.patch
patches/24-pcmcia.patch
patches/25-multicast-list_head.patch
patches/26-sdio-quirks.patch
patches/28-pm-qos-params.patch
patches/29-libertas_sdio_no_suspend.patch
patches/30-bridge-port.patch
patches/98-add-compat-wireless.patch

index ee29945073f518167cb163bb1d590877347ba320..bb6b30da401c0b7d4da43ad7db7d4665296bf32d 100644 (file)
@@ -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)
  {
index a10ecdf517e1cc2621398e2d97e928109dd22b29..7ca6d167d99cde2cb853c37f4881c985b0cfc902 100644 (file)
@@ -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();
index a231b0f06040c9ef93dc7508acaf6bff843a9f90..a816cdfa835ac181e6f3f11cbdc7631907f2b39e 100644 (file)
@@ -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,
index bcab068ea117469f62c3efc78f3af72979c6e46a..568314f63e7a65c06d8dd2be318cf665de7354da 100644 (file)
@@ -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) = {
index cdc506d1a3a82276acc7797e0e36396c6e69705c..f09d8eacc29c49f8fa642c6ec90a750738dc9cd4 100644 (file)
@@ -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];
index 4226516fb9a48aa248253ce5ceaa7cd53e0c56ba..6d2677b900f19489fb18385cca41aa2791cd18a6 100644 (file)
@@ -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
index 2c4850d21beed6914debf531d5db105592f34a8f..742b50019f74383350dd5d9445156e680d2842d3 100644 (file)
@@ -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;
index 97e88b6bdd20b738ab4f8e093f31557acc857e40..8718235f20b91bd5f39e717acca6f619af68b660 100644 (file)
@@ -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);
  }
  
index a25981786d5de7663505c349c81ae49d8d34c998..04353fdb1b1b28f1927cf101e218ab73afc7707d 100644 (file)
@@ -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);
  }
index 8dee91c7479c9b0962625d8b3d9eed34f0e226ac..63a81962044ebbcddf63f129f1f74094b911219e 100644 (file)
@@ -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);
  }
index a1566138d7d4b0456a268217c82fe4a241111f76..c6ed5b308be5535af21da7f60415d1400de95661 100644 (file)
@@ -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)
index 5beda460b09b2f7b1c10c387e8c414b1257cce90..54686451075d26cdb687d31f76e5906716f94487 100644 (file)
        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);
  
        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)
  {
  
        /* 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 */
        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.
         */
        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 */
  
        /*
         * 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 */
index 524b9a64e3ea5fff64bfd7091a81fd651ed2ee59..85ead25b007c784d6b2e9909b09ff6651e9d11c2 100644 (file)
@@ -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);
  
index 1fd80389e1b4a729efdafb5f29797144ab5e7a32..603094623f443cf4d54649d5579e1f35914e101b 100644 (file)
@@ -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;
        }
index e28d7a7b61ccd75a064cec417c2593b41415b95b..9f0024760bb7c933e7dd4fa96360923472b4b528 100644 (file)
@@ -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 +
index f5dc993d01fe68895fc2a44767d36d38652a9997..fc29fbd4e01ba568c68d91d2fc6271fd9b748aef 100644 (file)
@@ -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,
  };
index 1ee46616732ed942efc4b6ba345a19cff6fe2434..56f7906b0b7fa34e5ebd2407fbda7287ab5e3c2d 100644 (file)
@@ -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) {
index 5e637ad43237504b02b0a39a02b9ed7a73e8abf9..76def9a35aca23bf68f846596a11657b4fae0b0b 100644 (file)
@@ -27,4 +27,4 @@ added compat.h also for ssb, I forget.
 +#include <linux/compat-2.6.h>
  
  
- /*
+ /**