mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 22:47:56 +00:00
697f4a19e5
When enabling multiple VIFS, the driver sometimes crashes. The frequency of the crash increases as more VIFS are enabled. Signed-off-by: Nathan Hintz <nlhintz@hotmail.com> SVN-Revision: 38762
48 lines
1.7 KiB
Diff
48 lines
1.7 KiB
Diff
--- a/driver/wl_linux.c
|
|
+++ b/driver/wl_linux.c
|
|
@@ -349,7 +349,7 @@ static void wl_mic_error(wl_info_t *wl,
|
|
defined(WL_MONITOR)
|
|
static int wl_schedule_task(wl_info_t *wl, void (*fn)(struct wl_task *), void *context);
|
|
#endif
|
|
-#if defined(CONFIG_PROC_FS)
|
|
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
|
|
static int wl_read_proc(char *buffer, char **start, off_t offset, int length, int *eof, void *data);
|
|
#endif /* defined(CONFIG_PROC_FS) */
|
|
#ifdef BCMDBG
|
|
@@ -517,7 +517,7 @@ wl_attach(uint16 vendor, uint16 device,
|
|
struct net_device *dev;
|
|
wl_if_t *wlif;
|
|
wl_info_t *wl;
|
|
-#if defined(CONFIG_PROC_FS)
|
|
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
|
|
char tmp[128];
|
|
#endif
|
|
osl_t *osh;
|
|
@@ -664,7 +664,7 @@ wl_attach(uint16 vendor, uint16 device,
|
|
WL_ERROR(("wl%d: Error setting MPC variable to 0\n", unit));
|
|
}
|
|
}
|
|
-#if defined(CONFIG_PROC_FS)
|
|
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
|
|
/* create /proc/net/wl<unit> */
|
|
sprintf(tmp, "net/wl%d", wl->pub->unit);
|
|
create_proc_read_entry(tmp, 0, 0, wl_read_proc, (void*)wl);
|
|
@@ -810,7 +810,7 @@ wl_dbus_disconnect_cb(void *arg)
|
|
}
|
|
#endif /* BCMDBUS */
|
|
|
|
-#if defined(CONFIG_PROC_FS)
|
|
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
|
|
static int
|
|
wl_read_proc(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
|
|
{
|
|
@@ -1149,7 +1149,7 @@ wl_free(wl_info_t *wl)
|
|
|
|
/* free common resources */
|
|
if (wl->wlc) {
|
|
-#if defined(CONFIG_PROC_FS)
|
|
+#if defined(CONFIG_PROC_FS) && (LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0))
|
|
char tmp[128];
|
|
/* remove /proc/net/wl<unit> */
|
|
sprintf(tmp, "net/wl%d", wl->pub->unit);
|