• Alexis Lothoré's avatar
    net: dsa: rzn1-a5psw: fix STP states handling · ebe9bc50
    Alexis Lothoré authored
    stp_set_state() should actually allow receiving BPDU while in LEARNING
    mode which is not the case. Additionally, the BLOCKEN bit does not
    actually forbid sending forwarded frames from that port. To fix this, add
    a5psw_port_tx_enable() function which allows to disable TX. However, while
    its name suggest that TX is totally disabled, it is not and can still
    allow to send BPDUs even if disabled. This can be done by using forced
    forwarding with the switch tagging mechanism but keeping "filtering"
    disabled (which is already the case in the rzn1-a5sw tag driver). With
    these fixes, STP support is now functional.
    
    Fixes: 888cdb89 ("net: dsa: rzn1-a5psw: add Renesas RZ/N1 advanced 5 port switch driver")
    Signed-off-by: default avatarClément Léger <clement.leger@bootlin.com>
    Signed-off-by: default avatarAlexis Lothoré <alexis.lothore@bootlin.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ebe9bc50
rzn1_a5psw.c 27.5 KB