compat-wireless: refresh patches
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Tue, 3 Aug 2010 20:31:39 +0000 (13:31 -0700)
committerLuis R. Rodriguez <lrodriguez@atheros.com>
Tue, 3 Aug 2010 20:31:39 +0000 (13:31 -0700)
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
15 files changed:
patches/01-netdev.patch
patches/02-ksize.patch
patches/03-rfkill.patch
patches/04-netns.patch
patches/08-rename-iwl4965-config.patch
patches/10-add-wext-handlers-to-netdev.patch
patches/14-device-type.patch
patches/16-bluetooth.patch
patches/17-netdev-queue.patch
patches/19-kfifo.patch
patches/22-multiqueue.patch
patches/24-pcmcia.patch
patches/25-multicast-list_head.patch
patches/28-pm-qos-params.patch
patches/31-backport-sk_add_backlog.patch

index bec8e581ef9aea700c2343a8e262a4ef9e1b351b..2734052205556d633d0a8dde4329e8445de000ec 100644 (file)
@@ -23,7 +23,7 @@ without creating a headache on maintenance of the pathes.
        if (unlikely(retval < 0)) {
 --- a/drivers/net/usb/usbnet.c
 +++ b/drivers/net/usb/usbnet.c
-@@ -1331,7 +1331,7 @@ usbnet_probe (struct usb_interface *udev
+@@ -1322,7 +1322,7 @@ usbnet_probe (struct usb_interface *udev
                net->features |= NETIF_F_HIGHDMA;
  #endif
  
@@ -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
-@@ -697,7 +697,12 @@ static const struct net_device_ops ieee8
+@@ -699,7 +699,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;
  }
  
-@@ -842,7 +847,7 @@ static void ieee80211_setup_sdata(struct
+@@ -844,7 +849,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 */
-@@ -868,7 +873,7 @@ static void ieee80211_setup_sdata(struct
+@@ -870,7 +875,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;
-@@ -1049,6 +1054,8 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1051,6 +1056,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 */
-@@ -1057,6 +1064,7 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1059,6 +1066,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)
-@@ -1105,6 +1113,10 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1107,6 +1115,10 @@ int ieee80211_if_add(struct ieee80211_lo
        if (ret)
                goto fail;
  
@@ -228,7 +228,7 @@ without creating a headache on maintenance of the pathes.
        wdev->netdev = ndev;
 --- a/drivers/net/wireless/libertas/main.c
 +++ b/drivers/net/wireless/libertas/main.c
-@@ -836,7 +836,7 @@ struct lbs_private *lbs_add_card(void *c
+@@ -823,7 +823,7 @@ struct lbs_private *lbs_add_card(void *c
        wdev->netdev = dev;
        priv->dev = dev;
  
@@ -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
-@@ -1088,7 +1088,7 @@ static const struct net_device_ops hwsim
+@@ -1080,7 +1080,7 @@ static const struct net_device_ops hwsim
  
  static void hwsim_mon_setup(struct net_device *dev)
  {
index 88f5f0620446f328ca41fbd7e783ed9fce770ae2..21b7c7ba45643b2d637ba64a2a7720b40a80b70c 100644 (file)
@@ -37,7 +37,7 @@ of the situation.
                priv->keys[index].key = kzalloc(key_len, GFP_ATOMIC);
 --- a/net/wireless/scan.c
 +++ b/net/wireless/scan.c
-@@ -427,9 +427,14 @@ cfg80211_bss_update(struct cfg80211_regi
+@@ -432,9 +432,14 @@ cfg80211_bss_update(struct cfg80211_regi
                        size_t used = dev->wiphy.bss_priv_size + sizeof(*res);
                        size_t ielen = res->pub.len_proberesp_ies;
  
@@ -52,7 +52,7 @@ of the situation.
                                memcpy(found->pub.proberesp_ies,
                                       res->pub.proberesp_ies, ielen);
                                found->pub.len_proberesp_ies = ielen;
-@@ -460,9 +465,14 @@ cfg80211_bss_update(struct cfg80211_regi
+@@ -465,9 +470,14 @@ cfg80211_bss_update(struct cfg80211_regi
                        size_t used = dev->wiphy.bss_priv_size + sizeof(*res);
                        size_t ielen = res->pub.len_beacon_ies;
  
index e8a9fe8246aa23120ade612937642400ce874fc0..e1c82496da777b4a7295aa2c5efc389c3eb07446 100644 (file)
@@ -208,7 +208,7 @@ This would do the policing from within mac80211.
  #include <net/cfg80211.h>
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -2193,7 +2193,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw
+@@ -2194,7 +2194,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw
  
        pCap->hw_caps |= ATH9K_HW_CAP_ENHANCEDPM;
  
index 49354e48112e676c0dbca6cf0f01bda23650241f..a10ecdf517e1cc2621398e2d97e928109dd22b29 100644 (file)
@@ -16,7 +16,7 @@ files...
  };
  
  /* internal helper: get rdev and dev */
-@@ -4374,7 +4376,9 @@ static int nl80211_wiphy_netns(struct sk
+@@ -4376,7 +4378,9 @@ static int nl80211_wiphy_netns(struct sk
  
        err = cfg80211_switch_netns(rdev, net);
   out_put_net:
@@ -54,7 +54,7 @@ files...
  
        rdev->rfkill_ops.set_block = cfg80211_rfkill_set_block;
        rdev->rfkill = rfkill_alloc(dev_name(&rdev->wiphy.dev),
-@@ -684,8 +688,10 @@ static int cfg80211_netdev_notifier_call
+@@ -686,8 +690,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")) {
-@@ -829,6 +835,7 @@ static struct notifier_block cfg80211_ne
+@@ -831,6 +837,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;
-@@ -846,14 +853,17 @@ static void __net_exit cfg80211_pernet_e
+@@ -848,14 +855,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)
-@@ -888,8 +898,10 @@ out_fail_nl80211:
+@@ -890,8 +900,10 @@ out_fail_nl80211:
  out_fail_notifier:
        wiphy_sysfs_exit();
  out_fail_sysfs:
@@ -102,7 +102,7 @@ files...
        return err;
  }
  subsys_initcall(cfg80211_init);
-@@ -901,7 +913,9 @@ static void __exit cfg80211_exit(void)
+@@ -903,7 +915,9 @@ static void __exit cfg80211_exit(void)
        unregister_netdevice_notifier(&cfg80211_netdev_notifier);
        wiphy_sysfs_exit();
        regulatory_exit();
index 3a6b38c032150e06775304a85ad548ae2dfbd073..7536c606041a2ae0508cb06797a79fd5256e9094 100644 (file)
@@ -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
-@@ -4218,10 +4218,10 @@ static void __devexit iwl_pci_remove(str
+@@ -4248,10 +4248,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 31971a7b8aae3cf939f1439912dbaea4218602a7..4226516fb9a48aa248253ce5ceaa7cd53e0c56ba 100644 (file)
@@ -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;
-@@ -702,6 +698,8 @@ static int cfg80211_netdev_notifier_call
+@@ -704,6 +700,8 @@ static int cfg80211_netdev_notifier_call
                wdev->sme_state = CFG80211_SME_IDLE;
                mutex_unlock(&rdev->devlist_mtx);
  #ifdef CONFIG_CFG80211_WEXT
index f6ee1d72d64a5036cba64c8f3859900b7c721e43..a819c4d38566b81460f0b2223bd646d3998dd239 100644 (file)
@@ -8,7 +8,7 @@ compile warning.
 
 --- a/net/wireless/core.c
 +++ b/net/wireless/core.c
-@@ -645,9 +645,11 @@ static void wdev_cleanup_work(struct wor
+@@ -647,9 +647,11 @@ static void wdev_cleanup_work(struct wor
        dev_put(wdev->netdev);
  }
  
@@ -36,7 +36,7 @@ compile warning.
  {
 --- a/drivers/net/usb/usbnet.c
 +++ b/drivers/net/usb/usbnet.c
-@@ -1254,13 +1254,17 @@ static const struct net_device_ops usbne
+@@ -1245,13 +1245,17 @@ static const struct net_device_ops usbne
  
  // precondition: never called in_interrupt
  
index 62717c7d46ebb36cfdeca79bc5a0a585e83ea3ad..522b68054a2645c87a9bc59e6fb438c2e1ca9e8a 100644 (file)
@@ -111,7 +111,7 @@ here still, but for now we keep this here.
  #include <asm/system.h>
 --- a/net/bluetooth/hci_sock.c
 +++ b/net/bluetooth/hci_sock.c
-@@ -563,7 +563,11 @@ drop:
+@@ -561,7 +561,11 @@ drop:
        goto done;
  }
  
@@ -123,7 +123,7 @@ here still, but for now we keep this here.
  {
        struct hci_ufilter uf = { .opcode = 0 };
        struct sock *sk = sock->sk;
-@@ -718,8 +722,12 @@ static struct proto hci_sk_proto = {
+@@ -716,8 +720,12 @@ static struct proto hci_sk_proto = {
        .obj_size       = sizeof(struct hci_pinfo)
  };
  
@@ -570,7 +570,7 @@ here still, but for now we keep this here.
  
 --- a/net/bluetooth/l2cap.c
 +++ b/net/bluetooth/l2cap.c
-@@ -955,8 +955,12 @@ static struct sock *l2cap_sock_alloc(str
+@@ -957,8 +957,12 @@ static struct sock *l2cap_sock_alloc(str
        return sk;
  }
  
@@ -583,7 +583,7 @@ here still, but for now we keep this here.
  {
        struct sock *sk;
  
-@@ -968,7 +972,11 @@ static int l2cap_sock_create(struct net 
+@@ -970,7 +974,11 @@ static int l2cap_sock_create(struct net 
                        sock->type != SOCK_DGRAM && sock->type != SOCK_RAW)
                return -ESOCKTNOSUPPORT;
  
@@ -595,7 +595,7 @@ here still, but for now we keep this here.
                return -EPERM;
  
        sock->ops = &l2cap_sock_ops;
-@@ -2025,7 +2033,11 @@ static int l2cap_sock_setsockopt_old(str
+@@ -2027,7 +2035,11 @@ static int l2cap_sock_setsockopt_old(str
        return err;
  }
  
index 1bbd079d924d578b6e3a0589de675ac9ee66b821..8dee91c7479c9b0962625d8b3d9eed34f0e226ac 100644 (file)
@@ -14,7 +14,7 @@ The patch that introduced this on mac80211 was:
 
 --- a/net/mac80211/iface.c
 +++ b/net/mac80211/iface.c
-@@ -1153,6 +1153,7 @@ void ieee80211_if_remove(struct ieee8021
+@@ -1155,6 +1155,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;
-@@ -1169,6 +1170,22 @@ void ieee80211_remove_interfaces(struct 
+@@ -1171,6 +1172,22 @@ void ieee80211_remove_interfaces(struct 
        mutex_unlock(&local->iflist_mtx);
        unregister_netdevice_many(&unreg_list);
  }
index a49783be6f19712fdb1ac2a60dd59769ee24d98c..680f2b4ea83dce4c1a5d31c2175d1ce501f31f2e 100644 (file)
@@ -3,7 +3,7 @@ not be backported easily with defines in the compat module.
 
 --- a/drivers/net/wireless/libertas/dev.h
 +++ b/drivers/net/wireless/libertas/dev.h
-@@ -126,7 +126,11 @@ struct lbs_private {
+@@ -120,7 +120,11 @@ struct lbs_private {
        u32 resp_len[2];
  
        /* Events sent from hardware to driver */
@@ -17,7 +17,7 @@ not be backported easily with defines in the compat module.
        struct task_struct *main_thread;
 --- a/drivers/net/wireless/libertas/main.c
 +++ b/drivers/net/wireless/libertas/main.c
-@@ -758,8 +758,14 @@ static int lbs_init_adapter(struct lbs_p
+@@ -745,8 +745,14 @@ static int lbs_init_adapter(struct lbs_p
        priv->resp_len[0] = priv->resp_len[1] = 0;
  
        /* Create the event FIFO */
@@ -32,7 +32,7 @@ not be backported easily with defines in the compat module.
                lbs_pr_err("Out of memory allocating event FIFO buffer\n");
                goto out;
        }
-@@ -775,7 +781,12 @@ static void lbs_free_adapter(struct lbs_
+@@ -762,7 +768,12 @@ static void lbs_free_adapter(struct lbs_
        lbs_deb_enter(LBS_DEB_MAIN);
  
        lbs_free_cmd_buffer(priv);
index 24ac885e1c8cccc4db04e1e214e65b8186fbe005..a1566138d7d4b0456a268217c82fe4a241111f76 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
-@@ -1604,6 +1604,10 @@ static void ieee80211_xmit(struct ieee80
+@@ -1597,6 +1597,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();
-@@ -2073,8 +2077,15 @@ void ieee80211_tx_pending(unsigned long 
+@@ -2068,8 +2072,15 @@ void ieee80211_tx_pending(unsigned long 
  
                if (skb_queue_empty(&local->pending[i]))
                        list_for_each_entry_rcu(sdata, &local->interfaces, list)
index 6c2f576fcd54b77ef6af3091ad89441f6af56f30..9fb0e772dcdf0ca5305f814ed819fda7d1b3ac98 100644 (file)
@@ -1,8 +1,8 @@
 --- a/drivers/bluetooth/bluecard_cs.c
 +++ b/drivers/bluetooth/bluecard_cs.c
-@@ -869,6 +869,12 @@ static int bluecard_probe(struct pcmcia_
-       link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-       link->io.NumPorts1 = 8;
+@@ -865,6 +865,12 @@ static int bluecard_probe(struct pcmcia_
+       info->p_dev = link;
+       link->priv = info;
  
 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
 +      link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
@@ -13,7 +13,7 @@
        link->conf.Attributes = CONF_ENABLE_IRQ;
        link->conf.IntType = INT_MEMORY_AND_IO;
  
-@@ -904,9 +910,15 @@ static int bluecard_config(struct pcmcia
+@@ -902,9 +908,15 @@ static int bluecard_config(struct pcmcia
        if (i != 0)
                goto failed;
  
@@ -31,9 +31,9 @@
        if (i != 0)
 --- a/drivers/bluetooth/bt3c_cs.c
 +++ b/drivers/bluetooth/bt3c_cs.c
-@@ -661,6 +661,12 @@ static int bt3c_probe(struct pcmcia_devi
-       link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-       link->io.NumPorts1 = 8;
+@@ -660,6 +660,12 @@ static int bt3c_probe(struct pcmcia_devi
+       link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8;
+       link->resource[0]->end = 8;
  
 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
 +      link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
@@ -44,7 +44,7 @@
        link->conf.Attributes = CONF_ENABLE_IRQ;
        link->conf.IntType = INT_MEMORY_AND_IO;
  
-@@ -739,9 +745,15 @@ static int bt3c_config(struct pcmcia_dev
+@@ -738,9 +744,15 @@ static int bt3c_config(struct pcmcia_dev
        goto failed;
  
  found_port:
@@ -62,9 +62,9 @@
        if (i != 0)
 --- a/drivers/bluetooth/btuart_cs.c
 +++ b/drivers/bluetooth/btuart_cs.c
-@@ -590,6 +590,12 @@ static int btuart_probe(struct pcmcia_de
-       link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
-       link->io.NumPorts1 = 8;
+@@ -589,6 +589,12 @@ static int btuart_probe(struct pcmcia_de
+       link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8;
+       link->resource[0]->end = 8;
  
 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
 +      link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
@@ -75,7 +75,7 @@
        link->conf.Attributes = CONF_ENABLE_IRQ;
        link->conf.IntType = INT_MEMORY_AND_IO;
  
-@@ -668,9 +674,15 @@ static int btuart_config(struct pcmcia_d
+@@ -667,9 +673,15 @@ static int btuart_config(struct pcmcia_d
        goto failed;
  
  found_port:
        if (i != 0)
 --- a/drivers/net/wireless/b43/pcmcia.c
 +++ b/drivers/net/wireless/b43/pcmcia.c
-@@ -98,7 +98,14 @@ static int __devinit b43_pcmcia_probe(st
+@@ -89,7 +89,14 @@ static int __devinit b43_pcmcia_probe(st
        if (res != 0)
                goto err_disable;
  
        }
 --- a/drivers/ssb/main.c
 +++ b/drivers/ssb/main.c
-@@ -491,7 +491,11 @@ static int ssb_devices_register(struct s
+@@ -490,7 +490,11 @@ static int ssb_devices_register(struct s
                        break;
                case SSB_BUSTYPE_PCMCIA:
  #ifdef CONFIG_SSB_PCMCIAHOST
index 742bb00251fe0067be4dc893853bfc6eebc0e64a..a4706cf0053e651a988b0dc809d5c767660762ab 100644 (file)
@@ -83,7 +83,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
  }
 --- a/drivers/net/wireless/adm8211.c
 +++ b/drivers/net/wireless/adm8211.c
-@@ -1318,19 +1318,37 @@ static void adm8211_bss_info_changed(str
+@@ -1317,19 +1317,37 @@ static void adm8211_bss_info_changed(str
  }
  
  static u64 adm8211_prepare_multicast(struct ieee80211_hw *hw,
@@ -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
-@@ -1620,17 +1620,35 @@ out:
+@@ -1608,17 +1608,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,
-@@ -3139,20 +3143,42 @@ unlock:
+@@ -3148,20 +3152,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));
-@@ -3161,6 +3187,9 @@ static u64 ath5k_prepare_multicast(struc
+@@ -3170,6 +3196,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]); */
@@ -229,7 +229,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
        return ((u64)(mfilt[1]) << 32) | mfilt[0];
 --- a/drivers/net/wireless/libertas/main.c
 +++ b/drivers/net/wireless/libertas/main.c
-@@ -247,18 +247,34 @@ static int lbs_add_mcast_addrs(struct cm
+@@ -242,18 +242,34 @@ static int lbs_add_mcast_addrs(struct cm
        netif_addr_lock_bh(dev);
        cnt = netdev_mc_count(dev);
        netdev_for_each_mc_addr(ha, dev) {
@@ -305,7 +305,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
  }
 --- a/drivers/net/wireless/mwl8k.c
 +++ b/drivers/net/wireless/mwl8k.c
-@@ -1937,15 +1937,21 @@ struct mwl8k_cmd_mac_multicast_adr {
+@@ -1938,15 +1938,21 @@ struct mwl8k_cmd_mac_multicast_adr {
  
  static struct mwl8k_cmd_pkt *
  __mwl8k_cmd_mac_multicast_adr(struct ieee80211_hw *hw, int allmulti,
@@ -327,7 +327,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
  
        if (allmulti || mc_count > priv->num_mcaddrs) {
                allmulti = 1;
-@@ -1966,13 +1972,27 @@ __mwl8k_cmd_mac_multicast_adr(struct iee
+@@ -1967,13 +1973,27 @@ __mwl8k_cmd_mac_multicast_adr(struct iee
        if (allmulti) {
                cmd->action |= cpu_to_le16(MWL8K_ENABLE_RX_ALL_MULTICAST);
        } else if (mc_count) {
@@ -355,7 +355,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
                }
        }
  
-@@ -3551,7 +3571,11 @@ mwl8k_bss_info_changed(struct ieee80211_
+@@ -3550,7 +3570,11 @@ mwl8k_bss_info_changed(struct ieee80211_
  }
  
  static u64 mwl8k_prepare_multicast(struct ieee80211_hw *hw,
@@ -367,7 +367,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
  {
        struct mwl8k_cmd_pkt *cmd;
  
-@@ -3562,7 +3586,11 @@ static u64 mwl8k_prepare_multicast(struc
+@@ -3561,7 +3585,11 @@ static u64 mwl8k_prepare_multicast(struc
         * we'll end up throwing this packet away and creating a new
         * one in mwl8k_configure_filter().
         */
@@ -379,7 +379,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
  
        return (unsigned long)cmd;
  }
-@@ -3685,7 +3713,11 @@ static void mwl8k_configure_filter(struc
+@@ -3683,7 +3711,11 @@ static void mwl8k_configure_filter(struc
         */
        if (*total_flags & FIF_ALLMULTI) {
                kfree(cmd);
@@ -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
-@@ -803,10 +803,19 @@ static void rtl8180_bss_info_changed(str
+@@ -810,10 +810,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
-@@ -1194,9 +1194,17 @@ static void rtl8187_bss_info_changed(str
+@@ -1193,9 +1193,17 @@ static void rtl8187_bss_info_changed(str
  }
  
  static u64 rtl8187_prepare_multicast(struct ieee80211_hw *dev,
@@ -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
-@@ -1320,11 +1320,20 @@ struct wl1271_filter_params {
+@@ -1325,11 +1325,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))
-@@ -1337,16 +1346,40 @@ static u64 wl1271_op_prepare_multicast(s
+@@ -1342,16 +1351,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
-@@ -1695,7 +1695,11 @@ struct ieee80211_ops {
+@@ -1702,7 +1702,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
-@@ -668,7 +668,12 @@ struct ieee80211_local {
+@@ -666,7 +666,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
-@@ -390,7 +390,12 @@ static int ieee80211_stop(struct net_dev
+@@ -392,7 +392,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);
  
-@@ -570,7 +575,12 @@ static void ieee80211_set_multicast_list
+@@ -572,7 +577,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 */
-@@ -448,9 +452,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
+@@ -451,9 +455,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
        local->uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
  
        INIT_LIST_HEAD(&local->interfaces);
index a6aab68c912c0888735e589d3ad7a41100a63c82..cd8fecad35b67a3953c9f7090dd73320afdd97b9 100644 (file)
@@ -104,7 +104,7 @@ little wierd.
                                        found->vif.bss_conf.beacon_int);
 --- a/net/mac80211/scan.c
 +++ b/net/mac80211/scan.c
-@@ -510,7 +510,11 @@ static int ieee80211_scan_state_decision
+@@ -514,7 +514,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 2cd4e9f270af4b5da7b7d57a7732560e5ad630c8..ceb8d77b61959eb302df154b51b934b42e7a75ca 100644 (file)
@@ -9,7 +9,7 @@ backlog.
 
 --- a/net/bluetooth/l2cap.c
 +++ b/net/bluetooth/l2cap.c
-@@ -4349,8 +4349,12 @@ static inline int l2cap_data_channel(str
+@@ -4351,8 +4351,12 @@ static inline int l2cap_data_channel(str
                if (!sock_owned_by_user(sk)) {
                        l2cap_ertm_data_rcv(sk, skb);
                } else {