be2net: Fix disabling multicast promiscous mode
If user tries to disable multicast promiscous mode, the adapter remains in this mode as resetting the multicast promiscous mode was missing in RX filter command. Fixed this. Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
016f97b11b
commit
1610c79f1e
|
@ -1540,6 +1540,13 @@ int be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 value)
|
|||
|
||||
req->if_flags_mask = req->if_flags =
|
||||
cpu_to_le32(BE_IF_FLAGS_MULTICAST);
|
||||
|
||||
/* Reset mcast promisc mode if already set by setting mask
|
||||
* and not setting flags field
|
||||
*/
|
||||
req->if_flags_mask |=
|
||||
cpu_to_le32(BE_IF_FLAGS_MCAST_PROMISCUOUS);
|
||||
|
||||
req->mcast_num = cpu_to_le32(netdev_mc_count(adapter->netdev));
|
||||
netdev_for_each_mc_addr(ha, adapter->netdev)
|
||||
memcpy(req->mcast_mac[i++].byte, ha->addr, ETH_ALEN);
|
||||
|
|
Loading…
Reference in New Issue