From: Luis R. Rodriguez Date: Wed, 30 Nov 2011 02:58:28 +0000 (-0500) Subject: compat-wireless: refresh patches X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e394d4d5c2cfb4f598dcad82bfbcb2de4c127b89;p=openwrt%2Fstaging%2Fblogic.git compat-wireless: refresh patches Signed-off-by: Luis R. Rodriguez --- diff --git a/patches/01-netdev.patch b/patches/01-netdev.patch index c01024ad9d55..f4704cda909a 100644 --- a/patches/01-netdev.patch +++ b/patches/01-netdev.patch @@ -45,7 +45,7 @@ without creating a headache on maintenance of the pathes. --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c -@@ -3452,7 +3452,7 @@ static int rndis_wlan_bind(struct usbnet +@@ -3456,7 +3456,7 @@ static int rndis_wlan_bind(struct usbnet * rndis_host wants to avoid all OID as much as possible * so do promisc/multicast handling in rndis_wlan. */ @@ -56,7 +56,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 -@@ -713,7 +713,12 @@ static void ieee80211_if_setup(struct ne +@@ -700,7 +700,12 @@ static void ieee80211_if_setup(struct ne { ether_setup(dev); dev->priv_flags &= ~IFF_TX_SKB_SHARING; @@ -70,7 +70,7 @@ without creating a headache on maintenance of the pathes. dev->destructor = free_netdev; } -@@ -860,7 +865,7 @@ static void ieee80211_setup_sdata(struct +@@ -847,7 +852,7 @@ static void ieee80211_setup_sdata(struct /* and set some type-dependent values */ sdata->vif.type = type; sdata->vif.p2p = false; @@ -79,7 +79,7 @@ without creating a headache on maintenance of the pathes. sdata->wdev.iftype = type; sdata->control_port_protocol = cpu_to_be16(ETH_P_PAE); -@@ -899,7 +904,7 @@ static void ieee80211_setup_sdata(struct +@@ -888,7 +893,7 @@ static void ieee80211_setup_sdata(struct break; case NL80211_IFTYPE_MONITOR: sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP; @@ -88,7 +88,7 @@ without creating a headache on maintenance of the pathes. sdata->u.mntr_flags = MONITOR_FLAG_CONTROL | MONITOR_FLAG_OTHER_BSS; break; -@@ -1150,6 +1155,8 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1139,6 +1144,8 @@ int ieee80211_if_add(struct ieee80211_lo return -ENOMEM; dev_net_set(ndev, wiphy_net(local->hw.wiphy)); @@ -97,7 +97,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 */ -@@ -1158,6 +1165,7 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1147,6 +1154,7 @@ int ieee80211_if_add(struct ieee80211_lo - ETH_HLEN /* ethernet hard_header_len */ + IEEE80211_ENCRYPT_HEADROOM; ndev->needed_tailroom = IEEE80211_ENCRYPT_TAILROOM; diff --git a/patches/02-ksize.patch b/patches/02-ksize.patch index f667dc4c0a16..0c8c89ca1833 100644 --- a/patches/02-ksize.patch +++ b/patches/02-ksize.patch @@ -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 -@@ -537,9 +537,14 @@ cfg80211_bss_update(struct cfg80211_regi +@@ -633,9 +633,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; -@@ -573,9 +578,14 @@ cfg80211_bss_update(struct cfg80211_regi +@@ -669,9 +674,14 @@ cfg80211_bss_update(struct cfg80211_regi (found->pub.information_elements == found->pub.beacon_ies); diff --git a/patches/04-netns.patch b/patches/04-netns.patch index fa2ac993080e..16f01b568c25 100644 --- a/patches/04-netns.patch +++ b/patches/04-netns.patch @@ -6,7 +6,7 @@ files... --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -4945,7 +4945,9 @@ static int nl80211_wiphy_netns(struct sk +@@ -5066,7 +5066,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), -@@ -809,8 +813,10 @@ static int cfg80211_netdev_notifier_call +@@ -813,8 +817,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")) { -@@ -990,6 +996,7 @@ static struct notifier_block cfg80211_ne +@@ -994,6 +1000,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; -@@ -1007,14 +1014,17 @@ static void __net_exit cfg80211_pernet_e +@@ -1011,14 +1018,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) -@@ -1049,8 +1059,10 @@ out_fail_nl80211: +@@ -1053,8 +1063,10 @@ out_fail_nl80211: out_fail_notifier: wiphy_sysfs_exit(); out_fail_sysfs: @@ -92,7 +92,7 @@ files... return err; } subsys_initcall(cfg80211_init); -@@ -1062,7 +1074,9 @@ static void __exit cfg80211_exit(void) +@@ -1066,7 +1078,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 bcc018c34b91..246d6fd4ea4b 100644 --- a/patches/05-usb.patch +++ b/patches/05-usb.patch @@ -11,7 +11,7 @@ USB opt soft_unbid was added as of 2.6.27. +#endif }; - static int __init p54u_init(void) + module_usb_driver(p54u_driver); --- a/drivers/net/wireless/ath/ath9k/hif_usb.c +++ b/drivers/net/wireless/ath/ath9k/hif_usb.c @@ -1311,7 +1311,9 @@ static struct usb_driver ath9k_hif_usb_d diff --git a/patches/08-rename-config-options.patch b/patches/08-rename-config-options.patch index c721172b2e77..fdd39ec32cf0 100644 --- a/patches/08-rename-config-options.patch +++ b/patches/08-rename-config-options.patch @@ -24,7 +24,7 @@ CONFIG_BT_HIDP does not build with older kernel versions. obj-$(CONFIG_RTLWIFI) += rtlwifi/ --- a/drivers/net/wireless/iwlegacy/Makefile +++ b/drivers/net/wireless/iwlegacy/Makefile -@@ -5,7 +5,7 @@ +@@ -5,7 +5,7 @@ iwlegacy-$(CONFIG_IWLEGACY_DEBUGFS) += d iwlegacy-objs += $(iwlegacy-m) # 4965 @@ -35,7 +35,7 @@ CONFIG_BT_HIDP does not build with older kernel versions. --- a/drivers/net/wireless/iwlegacy/common.h +++ b/drivers/net/wireless/iwlegacy/common.h -@@ -1411,7 +1411,7 @@ +@@ -1411,7 +1411,7 @@ struct il_priv { } _3945; #endif diff --git a/patches/09-cfg80211-wext-padding.patch b/patches/09-cfg80211-wext-padding.patch index 09d9ea445356..f4d57e5404ac 100644 --- a/patches/09-cfg80211-wext-padding.patch +++ b/patches/09-cfg80211-wext-padding.patch @@ -30,7 +30,7 @@ moved due to struct enlargements. --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h -@@ -1907,6 +1907,9 @@ struct wiphy_wowlan_support { +@@ -1976,6 +1976,9 @@ struct wiphy_wowlan_support { struct wiphy { /* assign these fields before you register the wiphy */ diff --git a/patches/10-add-wext-handlers-to-netdev.patch b/patches/10-add-wext-handlers-to-netdev.patch index 63c148b0e93f..6a7e88af2279 100644 --- a/patches/10-add-wext-handlers-to-netdev.patch +++ b/patches/10-add-wext-handlers-to-netdev.patch @@ -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; -@@ -837,6 +833,15 @@ static int cfg80211_netdev_notifier_call +@@ -841,6 +837,15 @@ 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/11-dev-pm-ops.patch b/patches/11-dev-pm-ops.patch index 7166a281cd91..a34f5def867a 100644 --- a/patches/11-dev-pm-ops.patch +++ b/patches/11-dev-pm-ops.patch @@ -9,7 +9,7 @@ calls on compat code with only slight modifications. --- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c +++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c -@@ -2897,6 +2897,9 @@ static struct pci_error_handlers atl1c_err_handler = { +@@ -2900,6 +2900,9 @@ static struct pci_error_handlers atl1c_e static SIMPLE_DEV_PM_OPS(atl1c_pm_ops, atl1c_suspend, atl1c_resume); @@ -19,7 +19,7 @@ calls on compat code with only slight modifications. static struct pci_driver atl1c_driver = { .name = atl1c_driver_name, .id_table = atl1c_pci_tbl, -@@ -2904,7 +2907,12 @@ static struct pci_driver atl1c_driver = { +@@ -2907,7 +2910,12 @@ static struct pci_driver atl1c_driver = .remove = __devexit_p(atl1c_remove), .shutdown = atl1c_shutdown, .err_handler = &atl1c_err_handler, @@ -34,7 +34,7 @@ calls on compat code with only slight modifications. /* --- a/drivers/net/ethernet/atheros/atlx/atl1.c +++ b/drivers/net/ethernet/atheros/atlx/atl1.c -@@ -2833,6 +2833,9 @@ static int atl1_resume(struct device *dev) +@@ -2833,6 +2833,9 @@ static int atl1_resume(struct device *de return 0; } @@ -59,7 +59,7 @@ calls on compat code with only slight modifications. /* --- a/drivers/net/wireless/ath/ath5k/pci.c +++ b/drivers/net/wireless/ath/ath5k/pci.c -@@ -323,6 +323,9 @@ static int ath5k_pci_resume(struct device *dev) +@@ -323,6 +323,9 @@ static int ath5k_pci_resume(struct devic return 0; } @@ -69,7 +69,7 @@ calls on compat code with only slight modifications. static SIMPLE_DEV_PM_OPS(ath5k_pm_ops, ath5k_pci_suspend, ath5k_pci_resume); #define ATH5K_PM_OPS (&ath5k_pm_ops) #else -@@ -334,7 +337,12 @@ static struct pci_driver ath5k_pci_driver = { +@@ -334,7 +337,12 @@ static struct pci_driver ath5k_pci_drive .id_table = ath5k_pci_id_table, .probe = ath5k_pci_probe, .remove = __devexit_p(ath5k_pci_remove), @@ -84,7 +84,7 @@ calls on compat code with only slight modifications. /* --- a/drivers/net/wireless/ath/ath9k/pci.c +++ b/drivers/net/wireless/ath/ath9k/pci.c -@@ -353,14 +353,10 @@ static int ath_pci_resume(struct device *device) +@@ -353,14 +353,10 @@ static int ath_pci_resume(struct device return 0; } @@ -103,7 +103,7 @@ calls on compat code with only slight modifications. #define ATH9K_PM_OPS (&ath9k_pm_ops) -@@ -378,7 +374,12 @@ static struct pci_driver ath_pci_driver = { +@@ -378,7 +374,12 @@ static struct pci_driver ath_pci_driver .id_table = ath_pci_id_table, .probe = ath_pci_probe, .remove = ath_pci_remove, @@ -118,7 +118,7 @@ calls on compat code with only slight modifications. int ath_pci_init(void) --- a/drivers/net/wireless/iwlegacy/3945-mac.c +++ b/drivers/net/wireless/iwlegacy/3945-mac.c -@@ -3920,7 +3920,12 @@ static struct pci_driver il3945_driver = { +@@ -3920,7 +3920,12 @@ static struct pci_driver il3945_driver = .id_table = il3945_hw_card_ids, .probe = il3945_pci_probe, .remove = __devexit_p(il3945_pci_remove), @@ -133,7 +133,7 @@ calls on compat code with only slight modifications. static int __init --- a/drivers/net/wireless/iwlegacy/4965-mac.c +++ b/drivers/net/wireless/iwlegacy/4965-mac.c -@@ -6478,7 +6478,12 @@ static struct pci_driver il4965_driver = { +@@ -6478,7 +6478,12 @@ static struct pci_driver il4965_driver = .id_table = il4965_hw_card_ids, .probe = il4965_pci_probe, .remove = __devexit_p(il4965_pci_remove), @@ -176,7 +176,7 @@ calls on compat code with only slight modifications. --- a/drivers/net/wireless/iwlegacy/common.h +++ b/drivers/net/wireless/iwlegacy/common.h -@@ -2027,7 +2027,12 @@ __le32 il_add_beacon_time(struct il_priv *il, u32 base, u32 addon, +@@ -2027,7 +2027,12 @@ __le32 il_add_beacon_time(struct il_priv #ifdef CONFIG_PM int il_pci_suspend(struct device *device); int il_pci_resume(struct device *device); @@ -191,7 +191,7 @@ calls on compat code with only slight modifications. --- a/drivers/net/wireless/iwlwifi/iwl-pci.c +++ b/drivers/net/wireless/iwlwifi/iwl-pci.c -@@ -520,6 +520,9 @@ static int iwl_pci_resume(struct device *device) +@@ -520,6 +520,9 @@ static int iwl_pci_resume(struct device static SIMPLE_DEV_PM_OPS(iwl_dev_pm_ops, iwl_pci_suspend, iwl_pci_resume); @@ -201,7 +201,7 @@ calls on compat code with only slight modifications. #define IWL_PM_OPS (&iwl_dev_pm_ops) #else -@@ -533,7 +536,12 @@ static struct pci_driver iwl_pci_driver = { +@@ -533,7 +536,12 @@ static struct pci_driver iwl_pci_driver .id_table = iwl_hw_card_ids, .probe = iwl_pci_probe, .remove = __devexit_p(iwl_pci_remove), @@ -216,7 +216,7 @@ calls on compat code with only slight modifications. int __must_check iwl_pci_register_driver(void) --- a/drivers/net/wireless/libertas/if_spi.c +++ b/drivers/net/wireless/libertas/if_spi.c -@@ -1252,6 +1252,7 @@ static int __devexit libertas_spi_remove(struct spi_device *spi) +@@ -1252,6 +1252,7 @@ static int __devexit libertas_spi_remove return 0; } @@ -224,7 +224,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); -@@ -1285,6 +1286,7 @@ static const struct dev_pm_ops if_spi_pm_ops = { +@@ -1285,6 +1286,7 @@ static const struct dev_pm_ops if_spi_pm .suspend = if_spi_suspend, .resume = if_spi_resume, }; @@ -232,7 +232,7 @@ calls on compat code with only slight modifications. static struct spi_driver libertas_spi_driver = { .probe = if_spi_probe, -@@ -1292,7 +1294,9 @@ static struct spi_driver libertas_spi_driver = { +@@ -1292,7 +1294,9 @@ static struct spi_driver libertas_spi_dr .driver = { .name = "libertas_spi", .owner = THIS_MODULE, @@ -244,7 +244,7 @@ calls on compat code with only slight modifications. --- a/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c -@@ -381,21 +381,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n"); +@@ -381,21 +381,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n"); MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)"); @@ -277,7 +277,7 @@ calls on compat code with only slight modifications. static int __init rtl92ce_module_init(void) --- a/drivers/net/wireless/rtlwifi/rtl8192de/sw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192de/sw.c -@@ -391,21 +391,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n"); +@@ -391,21 +391,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n"); MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)"); @@ -310,7 +310,7 @@ calls on compat code with only slight modifications. /* add global spin lock to solve the problem that --- a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c +++ b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c -@@ -403,21 +403,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use SW control power save (default 0)\n"); +@@ -403,21 +403,22 @@ MODULE_PARM_DESC(swlps, "Set to 1 to use MODULE_PARM_DESC(fwlps, "Set to 1 to use FW control power save (default 1)\n"); MODULE_PARM_DESC(debug, "Set debug level (0-5) (default 0)"); diff --git a/patches/12-iw_handler-changes.patch b/patches/12-iw_handler-changes.patch index 82e3cabbcfe0..e8d00b36d5a6 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 -@@ -6117,7 +6117,11 @@ static struct net_device *ipw2100_alloc_ +@@ -6118,7 +6118,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/12-mac80211-disable-tx-status.patch b/patches/12-mac80211-disable-tx-status.patch index 522cb8c4cc99..6d186509413b 100644 --- a/patches/12-mac80211-disable-tx-status.patch +++ b/patches/12-mac80211-disable-tx-status.patch @@ -4,9 +4,9 @@ is no way to make the & work properly in that case. So we need to just ifdef this part out. ---- a/net/mac80211/tx.c 2011-11-14 16:46:04.000000000 +0100 -+++ b/net/mac80211/tx.c 2011-11-14 17:04:09.000000000 +0100 -@@ -1915,6 +1915,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -1950,6 +1950,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s goto fail; } @@ -14,7 +14,7 @@ So we need to just ifdef this part out. if (unlikely(!multicast && skb->sk && skb_shinfo(skb)->tx_flags & SKBTX_WIFI_STATUS)) { struct sk_buff *orig_skb = skb; -@@ -1953,6 +1954,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s +@@ -1988,6 +1989,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s skb = orig_skb; } } diff --git a/patches/14-device-type.patch b/patches/14-device-type.patch index 8a8cdcfed9ed..d5212ddbdb81 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 -@@ -780,9 +780,11 @@ static void wdev_cleanup_work(struct wor +@@ -784,9 +784,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 9233d1b73a08..0f78566fb7b8 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 -@@ -3041,7 +3041,12 @@ void ieee80211_rx(struct ieee80211_hw *h +@@ -3070,7 +3070,12 @@ void ieee80211_rx(struct ieee80211_hw *h drop: kfree_skb(skb); } diff --git a/patches/16-bluetooth.patch b/patches/16-bluetooth.patch index 1d2cc9cc0a8c..06bdf58a11fc 100644 --- a/patches/16-bluetooth.patch +++ b/patches/16-bluetooth.patch @@ -605,7 +605,7 @@ here still, but for now we keep this here. { struct sock *sk = sock->sk; struct l2cap_chan *chan = l2cap_pi(sk)->chan; -@@ -1062,8 +1069,12 @@ static struct sock *l2cap_sock_alloc(str +@@ -1072,8 +1079,12 @@ static struct sock *l2cap_sock_alloc(str return sk; } @@ -618,7 +618,7 @@ here still, but for now we keep this here. { struct sock *sk; -@@ -1075,7 +1086,11 @@ static int l2cap_sock_create(struct net +@@ -1085,7 +1096,11 @@ static int l2cap_sock_create(struct net sock->type != SOCK_DGRAM && sock->type != SOCK_RAW) return -ESOCKTNOSUPPORT; diff --git a/patches/17-netdev-queue.patch b/patches/17-netdev-queue.patch index b0aeb22e634b..7358f29d487e 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 -@@ -1231,6 +1231,7 @@ void ieee80211_if_remove(struct ieee8021 +@@ -1236,6 +1236,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; -@@ -1251,6 +1252,22 @@ void ieee80211_remove_interfaces(struct +@@ -1256,6 +1257,22 @@ void ieee80211_remove_interfaces(struct unregister_netdevice_many(&unreg_list); list_del(&unreg_list); } diff --git a/patches/22-multiqueue.patch b/patches/22-multiqueue.patch index 73777f70412b..677209615e60 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 @@ __le16 ieee80211_ctstoself_duration(stru +@@ -265,6 +265,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 @@ static void __ieee80211_wake_queue(struc +@@ -287,7 +299,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 @@ static void __ieee80211_stop_queue(struc +@@ -327,7 +346,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 -@@ -1437,6 +1437,10 @@ void ieee80211_xmit(struct ieee80211_sub +@@ -1470,6 +1470,10 @@ void ieee80211_xmit(struct ieee80211_sub return; } @@ -107,7 +107,7 @@ queue by using skb_set_queue_mapping(skb, 0) through ieee80211_tx_skb() ieee80211_set_qos_hdr(sdata, skb); ieee80211_tx(sdata, skb, false); rcu_read_unlock(); -@@ -2115,7 +2119,14 @@ void ieee80211_tx_pending(unsigned long +@@ -2205,7 +2209,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 38f27d994ff0..d0de336d3e73 100644 --- a/patches/25-multicast-list_head.patch +++ b/patches/25-multicast-list_head.patch @@ -480,7 +480,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 return 1; /* update */ --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c -@@ -1627,7 +1627,11 @@ static void set_multicast_list(struct us +@@ -1659,7 +1659,11 @@ static void set_multicast_list(struct us netdev_for_each_mc_addr(ha, usbdev->net) memcpy(mc_addrs + i++ * ETH_ALEN, @@ -637,7 +637,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 return hash.low | ((u64)hash.high << 32); --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c -@@ -172,7 +172,11 @@ static void _brcmf_set_multicast_list(st +@@ -157,7 +157,11 @@ static void _brcmf_set_multicast_list(st netdev_for_each_mc_addr(ha, ndev) { if (!cnt) break; @@ -651,7 +651,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 } --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -2112,7 +2112,11 @@ struct ieee80211_ops { +@@ -2140,7 +2140,11 @@ struct ieee80211_ops { enum ieee80211_tx_sync_type type); u64 (*prepare_multicast)(struct ieee80211_hw *hw, @@ -681,7 +681,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 } --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h -@@ -162,14 +162,28 @@ static inline void drv_finish_tx_sync(st +@@ -204,14 +204,28 @@ static inline void drv_finish_tx_sync(st } static inline u64 drv_prepare_multicast(struct ieee80211_local *local, @@ -712,7 +712,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -781,7 +781,12 @@ struct ieee80211_local { +@@ -796,7 +796,12 @@ struct ieee80211_local { struct work_struct recalc_smps; /* aggregated multicast list */ @@ -727,7 +727,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c -@@ -435,8 +435,13 @@ static void ieee80211_do_stop(struct iee +@@ -447,8 +447,13 @@ static void ieee80211_do_stop(struct iee netif_addr_lock_bh(sdata->dev); spin_lock_bh(&local->filter_lock); @@ -741,7 +741,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 spin_unlock_bh(&local->filter_lock); netif_addr_unlock_bh(sdata->dev); -@@ -600,7 +605,12 @@ static void ieee80211_set_multicast_list +@@ -616,7 +621,12 @@ static void ieee80211_set_multicast_list sdata->flags ^= IEEE80211_SDATA_PROMISC; } spin_lock_bh(&local->filter_lock); @@ -768,8 +768,8 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 spin_unlock_bh(&local->filter_lock); /* be a bit nasty */ -@@ -630,9 +634,11 @@ struct ieee80211_hw *ieee80211_alloc_hw( - local->uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN; +@@ -647,9 +651,11 @@ struct ieee80211_hw *ieee80211_alloc_hw( + wiphy->ht_capa_mod_mask = &mac80211_ht_capa_mod_mask; INIT_LIST_HEAD(&local->interfaces); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) diff --git a/patches/29-sdio_no_suspend.patch b/patches/29-sdio_no_suspend.patch index f5b85b70011b..1fb68ffe5642 100644 --- a/patches/29-sdio_no_suspend.patch +++ b/patches/29-sdio_no_suspend.patch @@ -188,7 +188,7 @@ suspend and resume that are not backported. int retry = 0; while (atomic_read(&sdiodev->suspend) && retry++ != 30) wait_event_timeout(*wq, false, HZ/100); -@@ -550,7 +550,7 @@ static void brcmf_ops_sdio_remove(struct +@@ -528,7 +528,7 @@ static void brcmf_ops_sdio_remove(struct } } @@ -197,7 +197,7 @@ suspend and resume that are not backported. static int brcmf_sdio_suspend(struct device *dev) { mmc_pm_flag_t sdio_flags; -@@ -603,7 +603,7 @@ static struct sdio_driver brcmf_sdmmc_dr +@@ -583,7 +583,7 @@ static struct sdio_driver brcmf_sdmmc_dr .remove = brcmf_ops_sdio_remove, .name = "brcmfmac", .id_table = brcmf_sdmmc_ids, diff --git a/patches/30-bridge-port.patch b/patches/30-bridge-port.patch index d1da0d7625f3..47954a072364 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 -@@ -807,7 +807,7 @@ int cfg80211_change_iface(struct cfg8021 +@@ -795,7 +795,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. ntype == NL80211_IFTYPE_P2P_CLIENT)) --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -1563,7 +1563,7 @@ static int nl80211_valid_4addr(struct cf +@@ -1599,7 +1599,7 @@ static int nl80211_valid_4addr(struct cf enum nl80211_iftype iftype) { if (!use_4addr) { diff --git a/patches/31-backport-sk_add_backlog.patch b/patches/31-backport-sk_add_backlog.patch index 3dd8e8f2341b..7cee5d4ed521 100644 --- a/patches/31-backport-sk_add_backlog.patch +++ b/patches/31-backport-sk_add_backlog.patch @@ -9,7 +9,7 @@ backlog. --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c -@@ -4206,8 +4206,12 @@ static inline int l2cap_data_channel(str +@@ -4211,8 +4211,12 @@ static inline int l2cap_data_channel(str if (!sock_owned_by_user(sk)) { l2cap_ertm_data_rcv(sk, skb); } else { diff --git a/patches/36-workqueue.patch b/patches/36-workqueue.patch index e54772444d3a..89f1db193865 100644 --- a/patches/36-workqueue.patch +++ b/patches/36-workqueue.patch @@ -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 -@@ -1107,6 +1107,10 @@ static void __exit ieee80211_exit(void) +@@ -1140,6 +1140,10 @@ static void __exit ieee80211_exit(void) rc80211_minstrel_ht_exit(); rc80211_minstrel_exit(); diff --git a/patches/38-led-max-brightness.patch b/patches/38-led-max-brightness.patch index c34d97961db5..ec33b21ee09f 100644 --- a/patches/38-led-max-brightness.patch +++ b/patches/38-led-max-brightness.patch @@ -12,7 +12,7 @@ case IL_LED_DEFAULT: --- a/drivers/net/wireless/iwlwifi/iwl-led.c +++ b/drivers/net/wireless/iwlwifi/iwl-led.c -@@ -184,7 +184,9 @@ void iwl_leds_init(struct iwl_priv *priv) +@@ -184,7 +184,9 @@ void iwl_leds_init(struct iwl_priv *priv wiphy_name(priv->hw->wiphy)); priv->led.brightness_set = iwl_led_brightness_set; priv->led.blink_set = iwl_led_blink_set; diff --git a/patches/39-remove_blink_set.patch b/patches/39-remove_blink_set.patch index 54527bd54df7..ba43d8d88919 100644 --- a/patches/39-remove_blink_set.patch +++ b/patches/39-remove_blink_set.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/iwlegacy/common.c +++ b/drivers/net/wireless/iwlegacy/common.c -@@ -380,6 +380,7 @@ il_led_brightness_set(struct led_classdev *led_cdev, +@@ -380,6 +380,7 @@ il_led_brightness_set(struct led_classde il_led_cmd(il, on, 0); } @@ -8,7 +8,7 @@ static int il_led_blink_set(struct led_classdev *led_cdev, unsigned long *delay_on, unsigned long *delay_off) -@@ -388,6 +389,7 @@ il_led_blink_set(struct led_classdev *led_cdev, unsigned long *delay_on, +@@ -388,6 +389,7 @@ il_led_blink_set(struct led_classdev *le return il_led_cmd(il, *delay_on, *delay_off); } @@ -28,7 +28,7 @@ #endif --- a/drivers/net/wireless/iwlwifi/iwl-led.c +++ b/drivers/net/wireless/iwlwifi/iwl-led.c -@@ -163,6 +163,7 @@ static void iwl_led_brightness_set(struct led_classdev *led_cdev, +@@ -163,6 +163,7 @@ static void iwl_led_brightness_set(struc iwl_led_cmd(priv, on, 0); } @@ -36,7 +36,7 @@ static int iwl_led_blink_set(struct led_classdev *led_cdev, unsigned long *delay_on, unsigned long *delay_off) -@@ -171,6 +172,7 @@ static int iwl_led_blink_set(struct led_classdev *led_cdev, +@@ -171,6 +172,7 @@ static int iwl_led_blink_set(struct led_ return iwl_led_cmd(priv, *delay_on, *delay_off); } @@ -44,7 +44,7 @@ void iwl_leds_init(struct iwl_priv *priv) { -@@ -183,7 +185,9 @@ void iwl_leds_init(struct iwl_priv *priv) +@@ -183,7 +185,9 @@ void iwl_leds_init(struct iwl_priv *priv priv->led.name = kasprintf(GFP_KERNEL, "%s-led", wiphy_name(priv->hw->wiphy)); priv->led.brightness_set = iwl_led_brightness_set; diff --git a/patches/40-netdev-hw-features.patch b/patches/40-netdev-hw-features.patch index 6a7a01d994e1..a00780d82c43 100644 --- a/patches/40-netdev-hw-features.patch +++ b/patches/40-netdev-hw-features.patch @@ -30,7 +30,7 @@ Date: Thu Apr 7 07:32:18 2011 +0000 static u32 atl1c_get_msglevel(struct net_device *netdev) { struct atl1c_adapter *adapter = netdev_priv(netdev); -@@ -303,6 +310,11 @@ static const struct ethtool_ops atl1c_et +@@ -302,6 +309,11 @@ static const struct ethtool_ops atl1c_et .get_link = ethtool_op_get_link, .get_eeprom_len = atl1c_get_eeprom_len, .get_eeprom = atl1c_get_eeprom, @@ -212,7 +212,7 @@ Date: Thu Apr 7 07:32:18 2011 +0000 /* * patch for some L1 of old version, -@@ -3601,6 +3605,14 @@ static int atl1_set_pauseparam(struct ne +@@ -3600,6 +3604,14 @@ static int atl1_set_pauseparam(struct ne return 0; } @@ -227,7 +227,7 @@ Date: Thu Apr 7 07:32:18 2011 +0000 static void atl1_get_strings(struct net_device *netdev, u32 stringset, u8 *data) { -@@ -3673,4 +3685,10 @@ static const struct ethtool_ops atl1_eth +@@ -3672,4 +3684,10 @@ static const struct ethtool_ops atl1_eth .nway_reset = atl1_nway_reset, .get_ethtool_stats = atl1_get_ethtool_stats, .get_sset_count = atl1_get_sset_count, diff --git a/patches/42-netlink_seq.patch b/patches/42-netlink_seq.patch index 48331e783b08..58b93d29c9c8 100644 --- a/patches/42-netlink_seq.patch +++ b/patches/42-netlink_seq.patch @@ -1,6 +1,6 @@ --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -4036,7 +4036,9 @@ static int nl80211_dump_scan(struct sk_b +@@ -4124,7 +4124,9 @@ static int nl80211_dump_scan(struct sk_b spin_lock_bh(&rdev->bss_lock); cfg80211_bss_expire(rdev);