diff options
author | Sathya Perla <sathya.perla@emulex.com> | 2011-09-27 17:29:38 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-09-27 17:29:38 (GMT) |
commit | 8e7d3f681ef462e6aaa151f231310452dac409ca (patch) | |
tree | c30dbdf6cd3e89176bee099d35c5b107731f0369 | |
parent | 4de075e0438ba54b8f42cbbc1263d404229dc997 (diff) | |
download | linux-fsl-qoriq-8e7d3f681ef462e6aaa151f231310452dac409ca.tar.xz |
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>
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_cmds.c | 6 |
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 bebeee6..6bc07c7 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) BE_IF_FLAGS_VLAN_PROMISCUOUS); if (value == ON) req->if_flags = cpu_to_le32(BE_IF_FLAGS_PROMISCUOUS | - BE_IF_FLAGS_VLAN_PROMISCUOUS); + BE_IF_FLAGS_VLAN_PROMISCUOUS); } else if (flags & IFF_ALLMULTI) { req->if_flags_mask = req->if_flags = - cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS); + cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS); } else { struct netdev_hw_addr *ha; int i = 0; + req->if_flags_mask = req->if_flags = + cpu_to_le32(BE_IF_FLAGS_MULTICAST); req->mcast_num = cpu_to_le16(netdev_mc_count(adapter->netdev)); netdev_for_each_mc_addr(ha, adapter->netdev) memcpy(req->mcast_mac[i++].byte, ha->addr, ETH_ALEN); |