--- hybrid_wl.old/src/wl/sys/wl_iw.c +++ hybrid_wl/src/wl/sys/wl_iw.c @@ -124,7 +124,7 @@ dev_wlc_ioctl( return ret; } -static int +int dev_wlc_intvar_set( struct net_device *dev, char *name, --- hybrid_wl.old/src/wl/sys/wl_linux.c +++ hybrid_wl/src/wl/sys/wl_linux.c @@ -245,6 +245,8 @@ static struct pci_device_id wl_id_table[] = { }; MODULE_DEVICE_TABLE(pci, wl_id_table); +MODULE_LICENSE("MIXED/Proprietary"); + #ifdef BCMDBG static int msglevel = 0xdeadbeef; module_param(msglevel, int, 0); @@ -288,6 +290,8 @@ void wl_if_setup(struct net_device *dev) #endif } +extern int dev_wlc_intvar_set(struct net_device *dev, char *name, int val); + static wl_info_t * wl_attach(uint16 vendor, uint16 device, ulong regs, uint bustype, void *btparam, uint irq) { @@ -438,6 +442,9 @@ wl_attach(uint16 vendor, uint16 device, ulong regs, uint bustype, void *btparam, printf("%s: Broadcom BCM%04x 802.11 Wireless Controller " EPI_VERSION_STR, dev->name, device); + /* Work around. Default vlan_mode to off */ + wlc_iovar_setint(wl->wlc, "vlan_mode", OFF); + #ifdef BCMDBG printf(" (Compiled in " SRCBASE " at " __TIME__ " on " __DATE__ ")"); #endif