aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/broadcom-wl
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2013-11-11 22:03:58 +0000
committerHauke Mehrtens <hauke@openwrt.org>2013-11-11 22:03:58 +0000
commite3fa6d1b8ffbd2ee8502c85a3e807f07edf40246 (patch)
tree6dbec4eeffffaea98162d53f64f603c13594a4c4 /package/kernel/broadcom-wl
parent0b335e2ac296020601ff31dadb7cd9ed66a7c686 (diff)
downloadmaster-187ad058-e3fa6d1b8ffbd2ee8502c85a3e807f07edf40246.tar.gz
master-187ad058-e3fa6d1b8ffbd2ee8502c85a3e807f07edf40246.tar.bz2
master-187ad058-e3fa6d1b8ffbd2ee8502c85a3e807f07edf40246.zip
broadcom-wl: perform additional cleanup on wl module unload
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38761 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/broadcom-wl')
-rw-r--r--package/kernel/broadcom-wl/patches/007-use-glue-driver.patch8
-rw-r--r--package/kernel/broadcom-wl/patches/008-fix_virtual_interfaces.patch2
-rw-r--r--package/kernel/broadcom-wl/patches/012-compat-3.10.patch2
-rw-r--r--package/kernel/broadcom-wl/patches/013-interface-name.patch2
-rw-r--r--package/kernel/broadcom-wl/patches/110-add_number_to_dev_name.patch2
5 files changed, 10 insertions, 6 deletions
diff --git a/package/kernel/broadcom-wl/patches/007-use-glue-driver.patch b/package/kernel/broadcom-wl/patches/007-use-glue-driver.patch
index 2639abcf6a..a30dcc4edf 100644
--- a/package/kernel/broadcom-wl/patches/007-use-glue-driver.patch
+++ b/package/kernel/broadcom-wl/patches/007-use-glue-driver.patch
@@ -108,18 +108,20 @@
#ifdef CONFIG_PCI
error = pci_register_driver(&wl_pci_driver);
-@@ -1082,7 +1053,9 @@ wl_module_init(void)
+@@ -1082,7 +1053,11 @@ wl_module_init(void)
return 0;
error_pci:
- ssb_driver_unregister(&wl_ssb_driver);
+#if defined(CONFIG_SSB) || defined(CONFIG_BCMA)
+ wl_glue_unregister();
++ wl_glue_set_attach_callback(NULL);
++ wl_glue_set_remove_callback(NULL);
+#endif /* defined(CONFIG_SSB) || defined(CONFIG_BCMA) */
return error;
}
-@@ -1099,9 +1072,9 @@ wl_module_exit(void)
+@@ -1099,9 +1074,11 @@ wl_module_exit(void)
#ifdef CONFIG_PCI
pci_unregister_driver(&wl_pci_driver);
#endif /* CONFIG_PCI */
@@ -128,6 +130,8 @@
-#endif /* CONFIG_SSB */
+#if defined(CONFIG_SSB) || defined(CONFIG_BCMA)
+ wl_glue_unregister();
++ wl_glue_set_attach_callback(NULL);
++ wl_glue_set_remove_callback(NULL);
+#endif /* defined(CONFIG_SSB) || defined(CONFIG_BCMA) */
}
diff --git a/package/kernel/broadcom-wl/patches/008-fix_virtual_interfaces.patch b/package/kernel/broadcom-wl/patches/008-fix_virtual_interfaces.patch
index 6cffa27810..360593115b 100644
--- a/package/kernel/broadcom-wl/patches/008-fix_virtual_interfaces.patch
+++ b/package/kernel/broadcom-wl/patches/008-fix_virtual_interfaces.patch
@@ -1,6 +1,6 @@
--- a/driver/wl_linux.c
+++ b/driver/wl_linux.c
-@@ -1541,6 +1541,8 @@ wl_add_if(wl_info_t *wl, struct wlc_if*
+@@ -1545,6 +1545,8 @@ wl_add_if(wl_info_t *wl, struct wlc_if*
return NULL;
}
diff --git a/package/kernel/broadcom-wl/patches/012-compat-3.10.patch b/package/kernel/broadcom-wl/patches/012-compat-3.10.patch
index 0e0415f9cd..1ab853967a 100644
--- a/package/kernel/broadcom-wl/patches/012-compat-3.10.patch
+++ b/package/kernel/broadcom-wl/patches/012-compat-3.10.patch
@@ -36,7 +36,7 @@
static int
wl_read_proc(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
{
-@@ -1137,7 +1137,7 @@ wl_free(wl_info_t *wl)
+@@ -1141,7 +1141,7 @@ wl_free(wl_info_t *wl)
/* free common resources */
if (wl->wlc) {
diff --git a/package/kernel/broadcom-wl/patches/013-interface-name.patch b/package/kernel/broadcom-wl/patches/013-interface-name.patch
index 3a136de037..a19e3a9882 100644
--- a/package/kernel/broadcom-wl/patches/013-interface-name.patch
+++ b/package/kernel/broadcom-wl/patches/013-interface-name.patch
@@ -1,6 +1,6 @@
--- a/driver/wl_linux.c
+++ b/driver/wl_linux.c
-@@ -1556,7 +1556,7 @@ wl_add_if(wl_info_t *wl, struct wlc_if*
+@@ -1560,7 +1560,7 @@ wl_add_if(wl_info_t *wl, struct wlc_if*
wl_if_setup(wlif->dev);
diff --git a/package/kernel/broadcom-wl/patches/110-add_number_to_dev_name.patch b/package/kernel/broadcom-wl/patches/110-add_number_to_dev_name.patch
index 13ce72741e..28917d912a 100644
--- a/package/kernel/broadcom-wl/patches/110-add_number_to_dev_name.patch
+++ b/package/kernel/broadcom-wl/patches/110-add_number_to_dev_name.patch
@@ -1,6 +1,6 @@
--- a/driver/wl_linux.c
+++ b/driver/wl_linux.c
-@@ -1412,7 +1412,7 @@ wl_alloc_if(wl_info_t *wl, int iftype, u
+@@ -1416,7 +1416,7 @@ wl_alloc_if(wl_info_t *wl, int iftype, u
dev = alloc_etherdev(sizeof(wl_if_t));
wlif = netdev_priv(dev);
bzero(wlif, sizeof(wl_if_t));