openwrtv3/package/kernel/broadcom-wl/patches/009-fix_compile_3_2.patch
Hauke Mehrtens 697f4a19e5 broadcom-wl: fix crash when starting multiple virtual interfaces
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
2013-11-11 22:04:26 +00:00

27 lines
804 B
Diff

--- a/driver/wl_linux.c
+++ b/driver/wl_linux.c
@@ -463,6 +463,16 @@ wl_schedule_fn(wl_info_t *wl, void (*fn)
}
#endif /* DSLCPE_DELAY */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
+#define WL_DEFAULT_OPS \
+ .ndo_open = wl_open, \
+ .ndo_stop = wl_close, \
+ .ndo_start_xmit = wl_start, \
+ .ndo_get_stats = wl_get_stats, \
+ .ndo_set_mac_address = wl_set_mac_address, \
+ .ndo_set_rx_mode = wl_set_multicast_list, \
+ .ndo_do_ioctl = wl_ioctl
+#else
#define WL_DEFAULT_OPS \
.ndo_open = wl_open, \
.ndo_stop = wl_close, \
@@ -471,6 +481,7 @@ wl_schedule_fn(wl_info_t *wl, void (*fn)
.ndo_set_mac_address = wl_set_mac_address, \
.ndo_set_multicast_list = wl_set_multicast_list, \
.ndo_do_ioctl = wl_ioctl
+#endif
static const struct net_device_ops wl_ops = {
WL_DEFAULT_OPS,