From: Luis R. Rodriguez Date: Wed, 28 Sep 2011 20:42:03 +0000 (-0700) Subject: compat-wireless: refresh patches X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=68e98c29eae47a2d1da8a98912e74bced47845e0;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 cbbf3fda118a..a6ff96db4a13 100644 --- a/patches/01-netdev.patch +++ b/patches/01-netdev.patch @@ -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 -@@ -699,7 +699,12 @@ static void ieee80211_if_setup(struct ne +@@ -697,7 +697,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; } -@@ -846,7 +851,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; 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); -@@ -885,7 +890,7 @@ static void ieee80211_setup_sdata(struct +@@ -883,7 +888,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; -@@ -1136,6 +1141,8 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1134,6 +1139,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 */ -@@ -1144,6 +1151,7 @@ int ieee80211_if_add(struct ieee80211_lo +@@ -1142,6 +1149,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 bcba301bc402..c344669ffb4d 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 -@@ -507,9 +507,14 @@ cfg80211_bss_update(struct cfg80211_regi +@@ -534,9 +534,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; -@@ -543,9 +548,14 @@ cfg80211_bss_update(struct cfg80211_regi +@@ -570,9 +575,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 af1e888f9a4b..26c390a43ace 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 -@@ -4905,7 +4905,9 @@ static int nl80211_wiphy_netns(struct sk +@@ -4904,7 +4904,9 @@ static int nl80211_wiphy_netns(struct sk if (!net_eq(wiphy_net(&rdev->wiphy), net)) err = cfg80211_switch_netns(rdev, net); diff --git a/patches/09-threaded-irq.patch b/patches/09-threaded-irq.patch index d83b6d466e2f..f06cd5f0e96d 100644 --- a/patches/09-threaded-irq.patch +++ b/patches/09-threaded-irq.patch @@ -6,7 +6,7 @@ thread in process context as well. --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c -@@ -4175,8 +4175,13 @@ redo: +@@ -4183,8 +4183,13 @@ redo: if (b43_bus_host_is_sdio(dev->dev)) { b43_sdio_free_irq(dev); } else { @@ -20,7 +20,7 @@ thread in process context as well. } mutex_lock(&wl->mutex); dev = wl->current_dev; -@@ -4216,9 +4221,17 @@ static int b43_wireless_core_start(struc +@@ -4224,9 +4229,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); -@@ -5007,6 +5020,10 @@ static int b43_setup_bands(struct b43_wl +@@ -5015,6 +5028,10 @@ static int b43_setup_bands(struct b43_wl static void b43_wireless_core_detach(struct b43_wldev *dev) { @@ -51,7 +51,7 @@ thread in process context as well. b43_release_firmware(dev); --- a/drivers/net/wireless/b43/b43.h +++ b/drivers/net/wireless/b43/b43.h -@@ -805,6 +805,9 @@ struct b43_wldev { +@@ -843,6 +843,9 @@ struct b43_wldev { unsigned int tx_count; unsigned int rx_count; #endif @@ -122,7 +122,7 @@ thread in process context as well. return 0; --- a/drivers/net/wireless/wl12xx/wl12xx.h +++ b/drivers/net/wireless/wl12xx/wl12xx.h -@@ -630,6 +630,10 @@ struct wl1271 { +@@ -631,6 +631,10 @@ struct wl1271 { /* AP-mode - number of currently connected stations */ int active_sta_count; diff --git a/patches/11-dev-pm-ops.patch b/patches/11-dev-pm-ops.patch index 803e7e84144a..0ea4fa2eda8d 100644 --- a/patches/11-dev-pm-ops.patch +++ b/patches/11-dev-pm-ops.patch @@ -219,7 +219,7 @@ calls on compat code with only slight modifications. static int __init iwl4965_init(void) --- a/drivers/net/wireless/iwlwifi/iwl-pci.c +++ b/drivers/net/wireless/iwlwifi/iwl-pci.c -@@ -537,6 +537,9 @@ static int iwl_pci_resume(struct device +@@ -535,6 +535,9 @@ static int iwl_pci_resume(struct device static SIMPLE_DEV_PM_OPS(iwl_dev_pm_ops, iwl_pci_suspend, iwl_pci_resume); @@ -229,7 +229,7 @@ calls on compat code with only slight modifications. #define IWL_PM_OPS (&iwl_dev_pm_ops) #else -@@ -550,7 +553,12 @@ static struct pci_driver iwl_pci_driver +@@ -548,7 +551,12 @@ static struct pci_driver iwl_pci_driver .id_table = iwl_hw_card_ids, .probe = iwl_pci_probe, .remove = __devexit_p(iwl_pci_remove), diff --git a/patches/16-bluetooth.patch b/patches/16-bluetooth.patch index 139e35bd7fb6..6115586f1eb3 100644 --- a/patches/16-bluetooth.patch +++ b/patches/16-bluetooth.patch @@ -121,7 +121,7 @@ here still, but for now we keep this here. --- a/net/bluetooth/hci_sysfs.c +++ b/net/bluetooth/hci_sysfs.c -@@ -69,7 +69,11 @@ static struct attribute_group bt_link_gr +@@ -71,7 +71,11 @@ static struct attribute_group bt_link_gr .attrs = bt_link_attrs, }; @@ -133,7 +133,7 @@ here still, but for now we keep this here. &bt_link_group, NULL }; -@@ -127,7 +131,11 @@ static void del_conn(struct work_struct +@@ -129,7 +133,11 @@ static void del_conn(struct work_struct dev = device_find_child(&conn->dev, NULL, __match_tty); if (!dev) break; @@ -145,7 +145,7 @@ here still, but for now we keep this here. put_device(dev); } -@@ -377,7 +385,11 @@ static struct attribute_group bt_host_gr +@@ -379,7 +387,11 @@ static struct attribute_group bt_host_gr .attrs = bt_host_attrs, }; @@ -270,7 +270,7 @@ here still, but for now we keep this here. static int hidp_parse(struct hid_device *hid) { struct hidp_session *session = hid->driver_data; -@@ -949,7 +1030,9 @@ static int hidp_setup_hid(struct hidp_se +@@ -952,7 +1033,9 @@ static int hidp_setup_hid(struct hidp_se hid->dev.parent = hidp_get_device(session); hid->ll_driver = &hidp_hid_driver; @@ -280,7 +280,7 @@ here still, but for now we keep this here. hid->hid_output_raw_report = hidp_output_raw_report; return 0; -@@ -960,6 +1043,7 @@ fault: +@@ -963,6 +1046,7 @@ fault: return err; } @@ -288,7 +288,7 @@ here still, but for now we keep this here. int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock, struct socket *intr_sock) { -@@ -979,6 +1063,39 @@ int hidp_add_connection(struct hidp_conn +@@ -982,6 +1066,39 @@ int hidp_add_connection(struct hidp_conn BT_DBG("rd_data %p rd_size %d", req->rd_data, req->rd_size); @@ -328,7 +328,7 @@ here still, but for now we keep this here. down_write(&hidp_session_sem); s = __hidp_get_session(&bt_sk(ctrl_sock->sk)->dst); -@@ -1012,6 +1129,7 @@ int hidp_add_connection(struct hidp_conn +@@ -1015,6 +1132,7 @@ int hidp_add_connection(struct hidp_conn session->flags = req->flags & (1 << HIDP_BLUETOOTH_VENDOR_ID); session->idle_to = req->idle_to; @@ -336,7 +336,7 @@ here still, but for now we keep this here. if (req->rd_size > 0) { err = hidp_setup_hid(session, req); if (err && err != -ENODEV) -@@ -1023,6 +1141,16 @@ int hidp_add_connection(struct hidp_conn +@@ -1026,6 +1144,16 @@ int hidp_add_connection(struct hidp_conn if (err < 0) goto purge; } @@ -353,7 +353,7 @@ here still, but for now we keep this here. __hidp_link_session(session); -@@ -1081,6 +1209,7 @@ unlink: +@@ -1084,6 +1212,7 @@ unlink: session->input = NULL; } @@ -361,7 +361,7 @@ here still, but for now we keep this here. if (session->hid) { hid_destroy_device(session->hid); session->hid = NULL; -@@ -1092,10 +1221,15 @@ unlink: +@@ -1095,10 +1224,15 @@ unlink: purge: skb_queue_purge(&session->ctrl_transmit); skb_queue_purge(&session->intr_transmit); @@ -377,7 +377,7 @@ here still, but for now we keep this here. kfree(session); return err; } -@@ -1179,6 +1313,7 @@ int hidp_get_conninfo(struct hidp_connin +@@ -1182,6 +1316,7 @@ int hidp_get_conninfo(struct hidp_connin return err; } @@ -385,7 +385,7 @@ here still, but for now we keep this here. static const struct hid_device_id hidp_table[] = { { HID_BLUETOOTH_DEVICE(HID_ANY_ID, HID_ANY_ID) }, { } -@@ -1188,6 +1323,7 @@ static struct hid_driver hidp_driver = { +@@ -1191,6 +1326,7 @@ static struct hid_driver hidp_driver = { .name = "generic-bluetooth", .id_table = hidp_table, }; @@ -393,7 +393,7 @@ here still, but for now we keep this here. static int __init hidp_init(void) { -@@ -1195,11 +1331,14 @@ static int __init hidp_init(void) +@@ -1198,11 +1334,14 @@ static int __init hidp_init(void) BT_INFO("HIDP (Human Interface Emulation) ver %s", VERSION); @@ -408,7 +408,7 @@ here still, but for now we keep this here. if (ret) goto err_drv; -@@ -1207,13 +1346,16 @@ static int __init hidp_init(void) +@@ -1210,13 +1349,16 @@ static int __init hidp_init(void) err_drv: hid_unregister_driver(&hidp_driver); err: diff --git a/patches/17-netdev-queue.patch b/patches/17-netdev-queue.patch index 7b5a8d155419..b0aeb22e634b 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 -@@ -1233,6 +1233,7 @@ void ieee80211_if_remove(struct ieee8021 +@@ -1231,6 +1231,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; -@@ -1253,6 +1254,22 @@ void ieee80211_remove_interfaces(struct +@@ -1251,6 +1252,22 @@ void ieee80211_remove_interfaces(struct unregister_netdevice_many(&unreg_list); list_del(&unreg_list); } diff --git a/patches/25-multicast-list_head.patch b/patches/25-multicast-list_head.patch index 7d1a7e3e8932..e3e99e6a643a 100644 --- a/patches/25-multicast-list_head.patch +++ b/patches/25-multicast-list_head.patch @@ -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 +@@ -1319,19 +1319,37 @@ static void adm8211_bss_info_changed(str } static u64 adm8211_prepare_multicast(struct ieee80211_hw *hw, @@ -494,7 +494,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 +@@ -813,10 +813,19 @@ static void rtl8180_bss_info_changed(str } } @@ -536,7 +536,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 static void rtl8187_configure_filter(struct ieee80211_hw *dev, --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c -@@ -2431,11 +2431,20 @@ struct wl1271_filter_params { +@@ -2467,11 +2467,20 @@ struct wl1271_filter_params { u8 mc_list[ACX_MC_ADDRESS_GROUP_MAX][ETH_ALEN]; }; @@ -557,7 +557,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 struct wl1271 *wl = hw->priv; if (unlikely(wl->state == WL1271_STATE_OFF)) -@@ -2448,16 +2457,40 @@ static u64 wl1271_op_prepare_multicast(s +@@ -2484,16 +2493,40 @@ static u64 wl1271_op_prepare_multicast(s } /* update multicast filtering parameters */ @@ -651,7 +651,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 } --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -1956,7 +1956,11 @@ struct ieee80211_ops { +@@ -1960,7 +1960,11 @@ struct ieee80211_ops { enum ieee80211_tx_sync_type type); u64 (*prepare_multicast)(struct ieee80211_hw *hw, @@ -712,7 +712,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -775,7 +775,12 @@ struct ieee80211_local { +@@ -776,7 +776,12 @@ struct ieee80211_local { struct work_struct recalc_smps; /* aggregated multicast list */ @@ -741,7 +741,7 @@ This also backport commit 2f787b0b76bf5de2eaa3ca3a29d89123ae03c856 spin_unlock_bh(&local->filter_lock); netif_addr_unlock_bh(sdata->dev); -@@ -602,7 +607,12 @@ static void ieee80211_set_multicast_list +@@ -600,7 +605,12 @@ static void ieee80211_set_multicast_list sdata->flags ^= IEEE80211_SDATA_PROMISC; } spin_lock_bh(&local->filter_lock); diff --git a/patches/30-bridge-port.patch b/patches/30-bridge-port.patch index 0a888b8ad1f8..00428e68f8e9 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 -@@ -801,7 +801,7 @@ int cfg80211_change_iface(struct cfg8021 +@@ -805,7 +805,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 -@@ -1539,7 +1539,7 @@ static int nl80211_valid_4addr(struct cf +@@ -1546,7 +1546,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 41e665ca37d8..bac12996f37a 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 -@@ -3742,8 +3742,12 @@ static inline int l2cap_data_channel(str +@@ -3744,8 +3744,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/38-led-max-brightness.patch b/patches/38-led-max-brightness.patch index e9ce63a90848..64ecc9ce545b 100644 --- a/patches/38-led-max-brightness.patch +++ b/patches/38-led-max-brightness.patch @@ -12,7 +12,7 @@ case IWL_LED_DEFAULT: --- a/drivers/net/wireless/iwlwifi/iwl-led.c +++ b/drivers/net/wireless/iwlwifi/iwl-led.c -@@ -185,7 +185,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 a9c2c7a95956..a39b6346bcd6 100644 --- a/patches/39-remove_blink_set.patch +++ b/patches/39-remove_blink_set.patch @@ -28,7 +28,7 @@ #endif --- a/drivers/net/wireless/iwlwifi/iwl-led.c +++ b/drivers/net/wireless/iwlwifi/iwl-led.c -@@ -164,6 +164,7 @@ static void iwl_led_brightness_set(struc +@@ -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) -@@ -172,6 +173,7 @@ static int iwl_led_blink_set(struct led_ +@@ -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) { -@@ -184,7 +186,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/42-netlink_seq.patch b/patches/42-netlink_seq.patch index 371c4d746d70..e646445edb34 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 -@@ -3985,7 +3985,9 @@ static int nl80211_dump_scan(struct sk_b +@@ -3995,7 +3995,9 @@ static int nl80211_dump_scan(struct sk_b spin_lock_bh(&rdev->bss_lock); cfg80211_bss_expire(rdev);