aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2.c
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2006-11-19 17:06:40 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-12-03 00:24:17 -0500
commit7510873d8659f4192cb5b3327f748e401d216399 (patch)
tree7e56d0d48e6cd8aa772bf56b4e0c4699d0e22686 /drivers/net/bnx2.c
parentbb22f58087fdf8b617803c9b65bc86c6d26b5115 (diff)
[BNX2]: Fix Xen problem.
This fixes the problem of not receiving packets in the Xen bridging environment. The Xen script sets the device's MAC address to FE:FF:FF:FF:FF:FF and puts the device in promiscuous mode. The firmware had problem receiving all packets in this configuration. New firmware and setting the PROM_VLAN bit when in promiscuous mode will fix this problem. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r--drivers/net/bnx2.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 01b76d3aa42f..b60e45d1ce3d 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -2040,7 +2040,8 @@ bnx2_set_rx_mode(struct net_device *dev)
2040 if (dev->flags & IFF_PROMISC) { 2040 if (dev->flags & IFF_PROMISC) {
2041 /* Promiscuous mode. */ 2041 /* Promiscuous mode. */
2042 rx_mode |= BNX2_EMAC_RX_MODE_PROMISCUOUS; 2042 rx_mode |= BNX2_EMAC_RX_MODE_PROMISCUOUS;
2043 sort_mode |= BNX2_RPM_SORT_USER0_PROM_EN; 2043 sort_mode |= BNX2_RPM_SORT_USER0_PROM_EN |
2044 BNX2_RPM_SORT_USER0_PROM_VLAN;
2044 } 2045 }
2045 else if (dev->flags & IFF_ALLMULTI) { 2046 else if (dev->flags & IFF_ALLMULTI) {
2046 for (i = 0; i < NUM_MC_HASH_REGISTERS; i++) { 2047 for (i = 0; i < NUM_MC_HASH_REGISTERS; i++) {