This fixes a bug where frames sent to the switch itself were flooded to all ports unless the MAC address of the CPU-port was learned otherwise.
Tested-by: Wenli Looi <wl...@ucalgary.ca> Tested-by: Bjørn Mork <bj...@mork.no> Signed-off-by: Birger Koblitz <g...@birger-koblitz.de> --- This was previously sent as a patch with a wrong subject "[PATCH] realtek: do not reset SerDes on link change" .../linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c b/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c index 4780632983..858b692640 100644 --- a/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c +++ b/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c @@ -205,6 +205,12 @@ static int rtl83xx_setup(struct dsa_switch *ds) priv->r->l2_learning_setup(); + // Make sure all frames sent to the switch's MAC are trapped to the CPU-port + if (priv->family_id == RTL8380_FAMILY_ID) + sw_w32(0x2, RTL838X_SPCL_TRAP_SWITCH_MAC_CTRL); // 0: FWD, 1: DROP, 2: TRAP2CPU + else + sw_w32(0x2, RTL839X_SPCL_TRAP_SWITCH_MAC_CTRL); + /* Enable MAC Polling PHY again */ rtl83xx_enable_phy_polling(priv); pr_debug("Please wait until PHY is settled\n"); -- 2.25.1 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel