[OpenWrt-Devel] [PATCH] [packages] mac80211: remove extra list_del on 3.14 kernels after 3.14.8
Mark Milburn
mark.a.milburn at gmail.com
Wed Nov 5 20:57:28 EST 2014
As of 3.14.9 unregister_netdevice_many() in net/core/dev.c includes a
list_del(). This means that any code that calls ieee80211_remove_interfaces()
will oops when using 3.14 kernels newer than 3.14.9. Check that kernel
version is not a 3.14.x newer than 3.14.8 before adding list_del() in
ieee80211_remove_interfaces(). Fixes rmmod for mwl8k.
Mark Milburn (1):
Protect 3.14.9 and higher 3.14 kernels from extra list_del
package/kernel/mac80211/patches/008-fix_netdev_unregister.patch | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Signed-off-by: Mark Milburn <mark.a.milburn at gmail.com>
--
package/kernel/mac80211/patches/008-fix_netdev_unregister.patch | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/package/kernel/mac80211/patches/008-fix_netdev_unregister.patch b/package/kernel/mac80211/patches/008-fix_netdev_unregister.patch
index bd36215..18019d2 100644
--- a/package/kernel/mac80211/patches/008-fix_netdev_unregister.patch
+++ b/package/kernel/mac80211/patches/008-fix_netdev_unregister.patch
@@ -1,11 +1,13 @@
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -1825,6 +1825,11 @@ void ieee80211_remove_interfaces(struct
+@@ -1825,6 +1825,13 @@ void ieee80211_remove_interfaces(struct
}
mutex_unlock(&local->iflist_mtx);
unregister_netdevice_many(&unreg_list);
+#if (!(LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,45) && \
+ LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)) && \
++ !(LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,9) && \
++ LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) && \
+ (LINUX_VERSION_CODE < KERNEL_VERSION(3,16,0)))
+ list_del(&unreg_list);
+#endif
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list