mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +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
28 lines
804 B
Diff
28 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,
|