--- hybrid_wl.old/src/wl/sys/wl_iw.c 2008-12-21 14:26:15.000000000 -0800 +++ hybrid_wl/src/wl/sys/wl_iw.c 2008-12-21 14:25:59.000000000 -0800 @@ -124,7 +124,7 @@ return ret; } -static int +int dev_wlc_intvar_set( struct net_device *dev, char *name, --- hybrid_wl.old/src/wl/sys/wl_linux.c 2008-12-21 14:26:15.000000000 -0800 +++ hybrid_wl/src/wl/sys/wl_linux.c 2008-12-21 14:25:59.000000000 -0800 @@ -246,6 +246,8 @@ }; MODULE_DEVICE_TABLE(pci, wl_id_table); +MODULE_LICENSE("MIXED/Proprietary"); + #ifdef BCMDBG static int msglevel = 0xdeadbeef; module_param(msglevel, int, 0); @@ -289,6 +291,8 @@ #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) { @@ -437,7 +441,11 @@ #endif printf("%s: Broadcom BCM%04x 802.11 Wireless Controller " EPI_VERSION_STR, - dev->name, device); + 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__ ")");