• Andrew Lunn's avatar
    net: dsa: mv88e6xxx: Fixed port netdev check for VLANs · cd886469
    Andrew Lunn authored
    Having the same VLAN on multiple bridges is currently unsupported as
    an offload. mv88e6xxx_port_check_hw_vlan() is used to ensure that a
    VLAN is not on multiple bridges when adding a VLAN range to a port. It
    loops the ports and checks to see if there are ports in a different
    bridge with the same VLAN.
    
    While walking all switch ports, the code was checking if the new port
    has a netdev slave attached to it. If not, skip checking the port
    being walked. This seems like a typ0. If the new port does not have a
    slave, how has a VLAN been added to it in the first place, requiring
    this check be performed at all? More likely, we should be checking if
    the port being walked has a slave. Without the port having a slave, it
    cannot have a VLAN on it, so there is no need to check further for
    that particular port.
    Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Reviewed-by: default avatarVivien Didelot <vivien.didelot@savoirfairelinux.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    cd886469
chip.c 112 KB