aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/emulex
diff options
context:
space:
mode:
authorSathya Perla <sathya.perla@emulex.com>2011-09-27 13:29:38 -0400
committerDavid S. Miller <davem@davemloft.net>2011-09-27 13:29:38 -0400
commit8e7d3f681ef462e6aaa151f231310452dac409ca (patch)
treec30dbdf6cd3e89176bee099d35c5b107731f0369 /drivers/net/ethernet/emulex
parent4de075e0438ba54b8f42cbbc1263d404229dc997 (diff)
be2net: fix multicast filter programming
Re-posting with subject fixed! Multicast programming has been broken since commit 5b8821b7. Setting the MULTICAST flag while sending the cmd to the FW was missing. Fixed this. Also fixed-up some indentation in the adjacent lines. Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/emulex')
-rw-r--r--drivers/net/ethernet/emulex/benet/be_cmds.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c
index bebeee68b2fa..6bc07c7515b3 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -1580,14 +1580,16 @@ int be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 value)
1580 BE_IF_FLAGS_VLAN_PROMISCUOUS); 1580 BE_IF_FLAGS_VLAN_PROMISCUOUS);
1581 if (value == ON) 1581 if (value == ON)
1582 req->if_flags = cpu_to_le32(BE_IF_FLAGS_PROMISCUOUS | 1582 req->if_flags = cpu_to_le32(BE_IF_FLAGS_PROMISCUOUS |
1583 BE_IF_FLAGS_VLAN_PROMISCUOUS); 1583 BE_IF_FLAGS_VLAN_PROMISCUOUS);
1584 } else if (flags & IFF_ALLMULTI) { 1584 } else if (flags & IFF_ALLMULTI) {
1585 req->if_flags_mask = req->if_flags = 1585 req->if_flags_mask = req->if_flags =
1586 cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS); 1586 cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS);
1587 } else { 1587 } else {
1588 struct netdev_hw_addr *ha; 1588 struct netdev_hw_addr *ha;
1589 int i = 0; 1589 int i = 0;
1590 1590
1591 req->if_flags_mask = req->if_flags =
1592 cpu_to_le32(BE_IF_FLAGS_MULTICAST);
1591 req->mcast_num = cpu_to_le16(netdev_mc_count(adapter->netdev)); 1593 req->mcast_num = cpu_to_le16(netdev_mc_count(adapter->netdev));
1592 netdev_for_each_mc_addr(ha, adapter->netdev) 1594 netdev_for_each_mc_addr(ha, adapter->netdev)
1593 memcpy(req->mcast_mac[i++].byte, ha->addr, ETH_ALEN); 1595 memcpy(req->mcast_mac[i++].byte, ha->addr, ETH_ALEN);