[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