On Tue, Apr 23, 2019 at 04:09:02PM +0300, Grygorii Strashko wrote:
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 = + cpsw_ale_get_vlan_member_list(ale_entry, + ale->vlan_field_bits);
Seems like declaration for cpsw_ale_get_vlan_member_list() is not part of the patchset -- Regards, Ivan Khoronzhuk