Now CPSW ALE will set/clean Host port bit in Unregistered Multicast Flood[...]
Mask (UNREG_MCAST_FLOOD_MASK) for every VLAN without checking if this port
belongs to VLAN or not when ALLMULTI mode flag is set for nedev. This is
working in non dual_mac mode, but in dual_mac - it causes
enabling/disabling ALLMULTI flag for both ports.
Hence fix it by adding additional parameter to cpsw_ale_set_allmulti() to
specify ALE port number for which ALLMULTI has to be enabled and check if
port belongs to VLAN before modifying UNREG_MCAST_FLOOD_MASK.
Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
---
drivers/net/ethernet/ti/cpsw.c | 12 +++++++++---
drivers/net/ethernet/ti/cpsw_ale.c | 12 ++++++++++--
drivers/net/ethernet/ti/cpsw_ale.h | 2 +-
3 files changed, 20 insertions(+), 6 deletions(-)
+ vlan_members =Seems like declaration for cpsw_ale_get_vlan_member_list() is not
+ cpsw_ale_get_vlan_member_list(ale_entry,
+ ale->vlan_field_bits);