From: "James Harper" This has been a problem for me for ages. When using bridging, the driver is switched into promiscuous mode before the link init is complete. The init complete routine then resets the promisc bit on the card so the kernel still thinks the card is in promiscuous mode but the card isn't. doh. I think this bug only shows up in bridging when the bridge is started at boot time (or something else that sets promisc at the same time the card was started). If promisc is enabled later it works. Here's a trivial (and hopefully correct) patch that works for me. It just calls the promisc/multicast setup routine after init. Cc: Jeff Garzik Signed-off-by: Andrew Morton --- drivers/net/tlan.c | 1 + 1 files changed, 1 insertion(+) diff -puN drivers/net/tlan.c~fix-promisc-bridging-in-tlan-driver drivers/net/tlan.c --- 25/drivers/net/tlan.c~fix-promisc-bridging-in-tlan-driver 2005-05-03 20:39:24.000000000 -0700 +++ 25-akpm/drivers/net/tlan.c 2005-05-03 20:39:24.000000000 -0700 @@ -2381,6 +2381,7 @@ TLan_FinishReset( struct net_device *dev TLan_SetTimer( dev, (10*HZ), TLAN_TIMER_FINISH_RESET ); return; } + TLan_SetMulticastList(dev); } /* TLan_FinishReset */ _