compat-wireless: refresh patches
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Mon, 16 May 2011 19:50:40 +0000 (12:50 -0700)
committerLuis R. Rodriguez <lrodriguez@atheros.com>
Mon, 16 May 2011 19:50:40 +0000 (12:50 -0700)
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
17 files changed:
patches/01-netdev.patch
patches/02-ksize.patch
patches/04-netns.patch
patches/09-threaded-irq.patch
patches/10-add-wext-handlers-to-netdev.patch
patches/11-dev-pm-ops.patch
patches/14-device-type.patch
patches/15-symbol-export-conflicts.patch
patches/16-bluetooth.patch
patches/22-multiqueue.patch
patches/24-pcmcia.patch
patches/25-multicast-list_head.patch
patches/26-sdio-quirks.patch
patches/29-sdio_no_suspend.patch
patches/30-bridge-port.patch
patches/31-backport-sk_add_backlog.patch
patches/36-workqueue.patch

index c0507109f19d5b15c25e6f69e5253c93fb477c0b..626d6d0f8aa570181b80aec2de0781a21ef3f8af 100644 (file)
@@ -217,7 +217,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
-@@ -818,7 +818,7 @@ struct lbs_private *lbs_add_card(void *c
+@@ -826,7 +826,7 @@ struct lbs_private *lbs_add_card(void *c
        wdev->netdev = dev;
        priv->dev = dev;
  
@@ -228,7 +228,7 @@ without creating a headache on maintenance of the pathes.
        dev->flags |= IFF_BROADCAST | IFF_MULTICAST;
 --- a/drivers/net/wireless/libertas/mesh.c
 +++ b/drivers/net/wireless/libertas/mesh.c
-@@ -385,7 +385,7 @@ int lbs_add_mesh(struct lbs_private *pri
+@@ -387,7 +387,7 @@ int lbs_add_mesh(struct lbs_private *pri
        mesh_dev->ml_priv = priv;
        priv->mesh_dev = mesh_dev;
  
index c8e8c9a1a0ef83f0f4c552c35b15e60220d6e9ff..4b97319f33f4f2c3b78d3aa2ef612792078a8bd5 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
-@@ -439,9 +439,14 @@ cfg80211_bss_update(struct cfg80211_regi
+@@ -502,9 +502,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;
-@@ -475,9 +480,14 @@ cfg80211_bss_update(struct cfg80211_regi
+@@ -538,9 +543,14 @@ cfg80211_bss_update(struct cfg80211_regi
                                (found->pub.information_elements ==
                                 found->pub.beacon_ies);
  
index e149497a4431fdb11555c1a2a19873f5a6424d89..39a0ef1373e0059c6681ff64f312f70215e5efdc 100644 (file)
@@ -6,7 +6,7 @@ files...
 
 --- a/net/wireless/nl80211.c
 +++ b/net/wireless/nl80211.c
-@@ -4288,7 +4288,9 @@ static int nl80211_wiphy_netns(struct sk
+@@ -4487,7 +4487,9 @@ static int nl80211_wiphy_netns(struct sk
        if (!net_eq(wiphy_net(&rdev->wiphy), net))
                err = cfg80211_switch_netns(rdev, net);
  
@@ -44,7 +44,7 @@ files...
  
        rdev->rfkill_ops.set_block = cfg80211_rfkill_set_block;
        rdev->rfkill = rfkill_alloc(dev_name(&rdev->wiphy.dev),
-@@ -721,8 +725,10 @@ static int cfg80211_netdev_notifier_call
+@@ -726,8 +730,10 @@ static int cfg80211_netdev_notifier_call
                mutex_lock(&rdev->devlist_mtx);
                list_add_rcu(&wdev->list, &rdev->netdev_list);
                rdev->devlist_generation++;
@@ -55,7 +55,7 @@ files...
  
                if (sysfs_create_link(&dev->dev.kobj, &rdev->wiphy.dev.kobj,
                                      "phy80211")) {
-@@ -893,6 +899,7 @@ static struct notifier_block cfg80211_ne
+@@ -903,6 +909,7 @@ static struct notifier_block cfg80211_ne
        .notifier_call = cfg80211_netdev_notifier_call,
  };
  
@@ -63,7 +63,7 @@ files...
  static void __net_exit cfg80211_pernet_exit(struct net *net)
  {
        struct cfg80211_registered_device *rdev;
-@@ -910,14 +917,17 @@ static void __net_exit cfg80211_pernet_e
+@@ -920,14 +927,17 @@ static void __net_exit cfg80211_pernet_e
  static struct pernet_operations cfg80211_pernet_ops = {
        .exit = cfg80211_pernet_exit,
  };
@@ -81,7 +81,7 @@ files...
  
        err = wiphy_sysfs_init();
        if (err)
-@@ -952,8 +962,10 @@ out_fail_nl80211:
+@@ -962,8 +972,10 @@ out_fail_nl80211:
  out_fail_notifier:
        wiphy_sysfs_exit();
  out_fail_sysfs:
@@ -92,7 +92,7 @@ files...
        return err;
  }
  subsys_initcall(cfg80211_init);
-@@ -965,7 +977,9 @@ static void __exit cfg80211_exit(void)
+@@ -975,7 +987,9 @@ static void __exit cfg80211_exit(void)
        unregister_netdevice_notifier(&cfg80211_netdev_notifier);
        wiphy_sysfs_exit();
        regulatory_exit();
index fd7ca8a25a8ad5e491355d069021459d3cee2e93..65f2b2cd1b0e3e65e2f0f2a5981a136724347c8b 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
-@@ -3953,8 +3953,13 @@ redo:
+@@ -3962,8 +3962,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;
-@@ -3994,9 +3999,17 @@ static int b43_wireless_core_start(struc
+@@ -4003,9 +4008,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;
-@@ -4699,6 +4712,10 @@ static int b43_setup_bands(struct b43_wl
+@@ -4719,6 +4732,10 @@ static int b43_setup_bands(struct b43_wl
  
  static void b43_wireless_core_detach(struct b43_wldev *dev)
  {
index cd35cf657ef3b6d3e2188adbaafc5d3d501f9b11..e9e65c8dc89a3e0c03fb3e9928f55057e9ae6fbf 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;
-@@ -738,6 +734,15 @@ static int cfg80211_netdev_notifier_call
+@@ -743,6 +739,15 @@ static int cfg80211_netdev_notifier_call
                wdev->sme_state = CFG80211_SME_IDLE;
                mutex_unlock(&rdev->devlist_mtx);
  #ifdef CONFIG_CFG80211_WEXT
index 098d0450b342e1ee32a4a013b146c7edf5770eb4..9ce829e49818430a0d75af87d684e9a1bb5ef980 100644 (file)
@@ -119,7 +119,7 @@ calls on compat code with only slight modifications.
  int ath_pci_init(void)
 --- a/drivers/net/wireless/libertas/if_spi.c
 +++ b/drivers/net/wireless/libertas/if_spi.c
-@@ -1244,6 +1244,7 @@ static int __devexit libertas_spi_remove
+@@ -1253,6 +1253,7 @@ static int __devexit libertas_spi_remove
        return 0;
  }
  
@@ -127,7 +127,7 @@ calls on compat code with only slight modifications.
  static int if_spi_suspend(struct device *dev)
  {
        struct spi_device *spi = to_spi_device(dev);
-@@ -1277,6 +1278,7 @@ static const struct dev_pm_ops if_spi_pm
+@@ -1286,6 +1287,7 @@ static const struct dev_pm_ops if_spi_pm
        .suspend        = if_spi_suspend,
        .resume         = if_spi_resume,
  };
@@ -135,7 +135,7 @@ calls on compat code with only slight modifications.
  
  static struct spi_driver libertas_spi_driver = {
        .probe  = if_spi_probe,
-@@ -1285,7 +1287,9 @@ static struct spi_driver libertas_spi_dr
+@@ -1294,7 +1296,9 @@ static struct spi_driver libertas_spi_dr
                .name   = "libertas_spi",
                .bus    = &spi_bus_type,
                .owner  = THIS_MODULE,
index f053a9eb87dbae315e119c3f5d4414bb653d519a..f05400d555d31172a385fae19b89931adf4d294d 100644 (file)
@@ -8,7 +8,7 @@ compile warning.
 
 --- a/net/wireless/core.c
 +++ b/net/wireless/core.c
-@@ -682,9 +682,11 @@ static void wdev_cleanup_work(struct wor
+@@ -687,9 +687,11 @@ static void wdev_cleanup_work(struct wor
        dev_put(wdev->netdev);
  }
  
index 25178a5bc1248420e7b834b4379186dd96fd850e..68b5791658bc59e3aac4630da973783ee44bd33c 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
-@@ -2940,7 +2940,12 @@ void ieee80211_rx(struct ieee80211_hw *h
+@@ -2945,7 +2945,12 @@ void ieee80211_rx(struct ieee80211_hw *h
   drop:
        kfree_skb(skb);
  }
index c8c3b5c29f82b1dd6e4db6ae899124ec672569c8..6b99d12cd0a6d312785f4e1811a4a0aeefa66e09 100644 (file)
@@ -518,7 +518,7 @@ here still, but for now we keep this here.
        struct rfcomm_dlc *dlc = dev->dlc;
 --- a/net/bluetooth/sco.c
 +++ b/net/bluetooth/sco.c
-@@ -438,8 +438,12 @@ static struct sock *sco_sock_alloc(struc
+@@ -429,8 +429,12 @@ static struct sock *sco_sock_alloc(struc
        return sk;
  }
  
@@ -531,7 +531,7 @@ here still, but for now we keep this here.
  {
        struct sock *sk;
  
-@@ -655,7 +659,11 @@ static int sco_sock_sendmsg(struct kiocb
+@@ -646,7 +650,11 @@ static int sco_sock_sendmsg(struct kiocb
        return err;
  }
  
index 385fbc8e287a1ffeb3d10ee1202cd70036428e28..c61d19e5476a3a8b0558f0483a010f954c4c0d2c 100644 (file)
@@ -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();
-@@ -2083,7 +2087,14 @@ void ieee80211_tx_pending(unsigned long
+@@ -2084,7 +2088,14 @@ void ieee80211_tx_pending(unsigned long
  
                if (skb_queue_empty(&local->pending[i]))
                        list_for_each_entry_rcu(sdata, &local->interfaces, list)
index 39f2dc06e0508defce82d6717171442df4d53e89..0f649ca7363176ae693d9091fc771751d4501c33 100644 (file)
        .remove         = __devexit_p(b43_pcmcia_remove),
 --- a/drivers/net/wireless/libertas/if_cs.c
 +++ b/drivers/net/wireless/libertas/if_cs.c
-@@ -773,7 +773,11 @@ static void if_cs_release(struct pcmcia_
+@@ -780,7 +780,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);
-@@ -781,7 +785,7 @@ static void if_cs_release(struct pcmcia_
+@@ -788,7 +792,7 @@ static void if_cs_release(struct pcmcia_
        lbs_deb_leave(LBS_DEB_CS);
  }
  
  static int if_cs_ioprobe(struct pcmcia_device *p_dev, void *priv_data)
  {
        p_dev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH;
-@@ -791,9 +795,39 @@ static int if_cs_ioprobe(struct pcmcia_d
-               lbs_pr_err("wrong CIS (check number of IO windows)\n");
+@@ -798,9 +802,39 @@ static int if_cs_ioprobe(struct pcmcia_d
+               pr_err("wrong CIS (check number of IO windows)\n");
                return -ENODEV;
        }
 +#else
  }
  
  static int if_cs_probe(struct pcmcia_device *p_dev)
-@@ -815,7 +849,16 @@ static int if_cs_probe(struct pcmcia_dev
+@@ -822,7 +856,16 @@ static int if_cs_probe(struct pcmcia_dev
        card->p_dev = p_dev;
        p_dev->priv = card;
  
 +#endif
  
        if (pcmcia_loop_config(p_dev, if_cs_ioprobe, NULL)) {
-               lbs_pr_err("error in pcmcia_loop_config\n");
-@@ -827,12 +870,26 @@ static int if_cs_probe(struct pcmcia_dev
+               pr_err("error in pcmcia_loop_config\n");
+@@ -834,12 +877,26 @@ static int if_cs_probe(struct pcmcia_dev
         * a handler to the interrupt, unless the 'Handler' member of
         * the irq structure is initialized.
         */
 +      card->iobase = ioport_map(p_dev->io.BasePort1, p_dev->io.NumPorts1);
 +#endif
        if (!card->iobase) {
-               lbs_pr_err("error in ioport_map\n");
+               pr_err("error in ioport_map\n");
                ret = -EIO;
-@@ -846,7 +903,17 @@ static int if_cs_probe(struct pcmcia_dev
+@@ -853,7 +910,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
-@@ -915,7 +982,11 @@ static int if_cs_probe(struct pcmcia_dev
+@@ -922,7 +989,11 @@ static int if_cs_probe(struct pcmcia_dev
        priv->fw_ready = 1;
  
        /* Now actually get the IRQ */
 +#endif
                IRQF_SHARED, DRV_NAME, card);
        if (ret) {
-               lbs_pr_err("error in request_irq\n");
-@@ -988,7 +1059,13 @@ MODULE_DEVICE_TABLE(pcmcia, if_cs_ids);
+               pr_err("error in request_irq\n");
+@@ -995,7 +1066,13 @@ MODULE_DEVICE_TABLE(pcmcia, if_cs_ids);
  
  static struct pcmcia_driver lbs_driver = {
        .owner          = THIS_MODULE,
index 3db5a4f8c871a09b2ada2a82a9a551bd5fa7460a..e5d37d846d929946ffd05ae55aaf76ac078839a4 100644 (file)
@@ -217,7 +217,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
  }
 --- a/drivers/net/wireless/libertas/main.c
 +++ b/drivers/net/wireless/libertas/main.c
-@@ -229,18 +229,34 @@ static int lbs_add_mcast_addrs(struct cm
+@@ -235,18 +235,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) {
@@ -655,7 +655,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
        }
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -1860,7 +1860,11 @@ struct ieee80211_ops {
+@@ -1882,7 +1882,11 @@ struct ieee80211_ops {
                                 struct ieee80211_bss_conf *info,
                                 u32 changed);
        u64 (*prepare_multicast)(struct ieee80211_hw *hw,
@@ -716,7 +716,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
  
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
-@@ -735,7 +735,12 @@ struct ieee80211_local {
+@@ -739,7 +739,12 @@ struct ieee80211_local {
        struct work_struct recalc_smps;
  
        /* aggregated multicast list */
@@ -772,7 +772,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856
        spin_unlock_bh(&local->filter_lock);
  
        /* be a bit nasty */
-@@ -614,9 +618,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
+@@ -615,9 +619,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(
        local->uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
  
        INIT_LIST_HEAD(&local->interfaces);
index 5c78d8746a046e4c81f7e09ab82408dca1db3218..57df7b537c56a90af5109d0dbae1bcf43b2623bb 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
-@@ -1010,6 +1010,7 @@ static int if_sdio_probe(struct sdio_fun
+@@ -1012,6 +1012,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. */
-@@ -1028,6 +1029,7 @@ static int if_sdio_probe(struct sdio_fun
+@@ -1030,6 +1031,7 @@ static int if_sdio_probe(struct sdio_fun
                if (ret)
                        goto release_int;
        }
index c20d9e2f83d252d26fc9621a79d0b588d556e809..feaa5a5fd8f5b28903bb6947d3f8e6c5b95ba8e9 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
-@@ -1196,6 +1196,7 @@ static void if_sdio_remove(struct sdio_f
+@@ -1198,6 +1198,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);
-@@ -1250,15 +1251,18 @@ static const struct dev_pm_ops if_sdio_p
+@@ -1251,15 +1252,18 @@ static const struct dev_pm_ops if_sdio_p
        .suspend        = if_sdio_suspend,
        .resume         = if_sdio_resume,
  };
index 8855156d201fa91d03d3f315173817bc8d84a236..05b993b29b99dd77b1c444a1085a1488851771cd 100644 (file)
@@ -34,7 +34,7 @@ compat-wireless.
             ntype == NL80211_IFTYPE_P2P_CLIENT))
 --- a/net/wireless/nl80211.c
 +++ b/net/wireless/nl80211.c
-@@ -1404,7 +1404,7 @@ static int nl80211_valid_4addr(struct cf
+@@ -1409,7 +1409,7 @@ static int nl80211_valid_4addr(struct cf
                               enum nl80211_iftype iftype)
  {
        if (!use_4addr) {
index ffafe3c87e79d1bf2f89defb50f78a31b5479574..9841c9d38d79667c6cb67a6da8d54cb6ecf719d8 100644 (file)
@@ -9,7 +9,7 @@ backlog.
 
 --- a/net/bluetooth/l2cap_core.c
 +++ b/net/bluetooth/l2cap_core.c
-@@ -3706,8 +3706,12 @@ static inline int l2cap_data_channel(str
+@@ -3700,8 +3700,12 @@ static inline int l2cap_data_channel(str
                if (!sock_owned_by_user(sk)) {
                        l2cap_ertm_data_rcv(sk, skb);
                } else {
index 0a84deedbd92930856c16d48c03dc44bd32bb34b..501edeca05e413ee15f51c2a99d5a7d7932942a9 100644 (file)
@@ -3,7 +3,7 @@ The rest is backported in include/linux/compat-2.6.37.h
 
 --- a/net/mac80211/main.c
 +++ b/net/mac80211/main.c
-@@ -1061,6 +1061,10 @@ static void __exit ieee80211_exit(void)
+@@ -1068,6 +1068,10 @@ static void __exit ieee80211_exit(void)
        rc80211_minstrel_ht_exit();
        rc80211_minstrel_exit();