--- src/wl/sys/wl_iw.c.orig 2009-01-02 17:53:01.000000000 +0100 +++ src/wl/sys/wl_iw.c 2009-01-02 17:53:20.000000000 +0100 @@ -124,7 +124,7 @@ return ret; } -static int +int dev_wlc_intvar_set( struct net_device *dev, char *name, --- src/wl/sys/wl_linux.c.orig 2009-01-02 17:54:21.000000000 +0100 +++ src/wl/sys/wl_linux.c 2009-01-02 17:57:07.000000000 +0100 @@ -247,6 +247,8 @@ }; MODULE_DEVICE_TABLE(pci, wl_id_table); +MODULE_LICENSE("MIXED/Proprietary"); + #ifdef BCMDBG static int msglevel = 0xdeadbeef; module_param(msglevel, int, 0); @@ -305,6 +307,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) { @@ -455,6 +459,10 @@ 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