Commit 46514619 authored by Edward Peng's avatar Edward Peng Committed by Jeff Garzik

[netdrvr via-rhine] fix promisc mode

I found a via-rhine bug, it can't receive BPDU (mac: 0180c2000000)
in promiscuous mode. 
Fill all "1" in hash table to fix this problem in promiscuous mode.
(RCR remain 0x1c, write it as 0x1f don't work)
parent 2e72f073
...@@ -1694,6 +1694,8 @@ static void via_rhine_set_rx_mode(struct net_device *dev) ...@@ -1694,6 +1694,8 @@ static void via_rhine_set_rx_mode(struct net_device *dev)
/* Unconditionally log net taps. */ /* Unconditionally log net taps. */
printk(KERN_NOTICE "%s: Promiscuous mode enabled.\n", dev->name); printk(KERN_NOTICE "%s: Promiscuous mode enabled.\n", dev->name);
rx_mode = 0x1C; rx_mode = 0x1C;
writel(0xffffffff, ioaddr + MulticastFilter0);
writel(0xffffffff, ioaddr + MulticastFilter1);
} else if ((dev->mc_count > multicast_filter_limit) } else if ((dev->mc_count > multicast_filter_limit)
|| (dev->flags & IFF_ALLMULTI)) { || (dev->flags & IFF_ALLMULTI)) {
/* Too many to match, or accept all multicasts. */ /* Too many to match, or accept all multicasts. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment