Disable libertas and few compat fixes
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Fri, 11 Dec 2009 07:36:16 +0000 (23:36 -0800)
committerLuis R. Rodriguez <lrodriguez@atheros.com>
Fri, 11 Dec 2009 07:36:16 +0000 (23:36 -0800)
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
patches/17-netdev-queue.patch [new file with mode: 0644]
patches/99-change-makefiles.patch

diff --git a/patches/17-netdev-queue.patch b/patches/17-netdev-queue.patch
new file mode 100644 (file)
index 0000000..1fa304f
--- /dev/null
@@ -0,0 +1,47 @@
+This patch addresses changes made by usage of new symbols
+like unregister_netdevice_queue() which are not possible to backport
+due to their reliance on internal symbols on net/core/dev.c
+
+The patch that introduced this on mac80211 was:
+
+    mac80211: Speedup ieee80211_remove_interfaces()
+    
+    Speedup ieee80211_remove_interfaces() by factorizing synchronize_rcu() calls
+    
+    Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
+    Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
+    Signed-off-by: John W. Linville <linville@tuxdriver.com>
+
+--- a/net/mac80211/iface.c     2009-12-10 23:06:21.000000000 -0800
++++ b/net/mac80211/iface.c     2009-12-10 23:09:50.000000000 -0800
+@@ -884,6 +884,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.
+  */
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
+ void ieee80211_remove_interfaces(struct ieee80211_local *local)
+ {
+       struct ieee80211_sub_if_data *sdata, *tmp;
+@@ -900,6 +901,22 @@ void ieee80211_remove_interfaces(struct 
+       mutex_unlock(&local->iflist_mtx);
+       unregister_netdevice_many(&unreg_list);
+ }
++#else
++void ieee80211_remove_interfaces(struct ieee80211_local *local)
++{
++      struct ieee80211_sub_if_data *sdata, *tmp;
++
++      ASSERT_RTNL();
++
++      list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) {
++              mutex_lock(&local->iflist_mtx);
++              list_del(&sdata->list);
++              mutex_unlock(&local->iflist_mtx);
++
++              unregister_netdevice(sdata->dev);
++      }
++}
++#endif
+ static u32 ieee80211_idle_off(struct ieee80211_local *local,
+                             const char *reason)
index a8347ab2b886e8e0219065539e5eba8665f9daaf..35beaa87a9a721b9212a2734ac47575f08bbc9f5 100644 (file)
@@ -38,9 +38,9 @@ only the wireless stuff.
 -obj-$(CONFIG_USB_NET_INT51X1) += int51x1.o
 -obj-$(CONFIG_USB_CDC_PHONET)  += cdc-phonet.o
  
---- a/drivers/net/wireless/Makefile    2009-11-01 12:53:07.479194884 -0700
-+++ b/drivers/net/wireless/Makefile    2009-11-01 12:54:42.026195576 -0700
-@@ -5,33 +5,14 @@
+--- a/drivers/net/wireless/Makefile    2009-12-10 22:57:15.000000000 -0800
++++ b/drivers/net/wireless/Makefile    2009-12-10 22:57:16.000000000 -0800
+@@ -5,36 +5,14 @@
  obj-$(CONFIG_IPW2100) += ipw2x00/
  obj-$(CONFIG_IPW2200) += ipw2x00/
  
@@ -71,9 +71,12 @@ only the wireless stuff.
  obj-$(CONFIG_USB_NET_RNDIS_WLAN)      += rndis_wlan.o
  
 -obj-$(CONFIG_USB_ZD1201)      += zd1201.o
- obj-$(CONFIG_LIBERTAS)                += libertas/
+-obj-$(CONFIG_LIBERTAS)                += libertas/
+-
+-obj-$(CONFIG_LIBERTAS_THINFIRM)       += libertas_tf/
+ obj-$(CONFIG_ADM8211) += adm8211.o
  
- obj-$(CONFIG_LIBERTAS_THINFIRM)       += libertas_tf/
 --- a/net/wireless/Makefile    2009-10-06 13:00:59.000000000 -0400
 +++ b/net/wireless/Makefile    2009-10-06 13:00:59.000000000 -0400
 @@ -4,11 +4,6 @@