]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: rtl931x: Fix size of TRK_MBR_CTRL group block
authorSven Eckelmann <sven@narfation.org>
Wed, 29 Jan 2025 18:23:33 +0000 (19:23 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Thu, 7 Aug 2025 16:40:30 +0000 (18:40 +0200)
Each MBR ctrl block has 64 bits to store the 56 possible ports. The offsets
between the groups is therefore also 64 bit.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Sharadanand Karanjkar <sk@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/19574
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl931x.c

index 05bf68a7447c745850607fea5070f36fed5f3305..f6a098c701f867cc7e01b9febd2443d888e070df 100644 (file)
@@ -179,9 +179,9 @@ static void rtl931x_stp_set(struct rtl838x_switch_priv *priv, u16 msti, u32 port
        priv->r->exec_tbl0_cmd(cmd);
 }
 
-inline static int rtl931x_trk_mbr_ctr(int group)
+inline static int rtldsa_931x_trk_mbr_ctr(int group)
 {
-       return RTL931X_TRK_MBR_CTRL + (group << 2);
+       return RTL931X_TRK_MBR_CTRL + (group << 3);
 }
 
 static void rtl931x_vlan_tables_read(u32 vlan, struct rtl838x_vlan_info *info)
@@ -1675,7 +1675,7 @@ const struct rtl838x_reg rtl931x_reg = {
        .vlan_port_keep_tag_set = rtl931x_vlan_port_keep_tag_set,
        .vlan_port_pvidmode_set = rtl931x_vlan_port_pvidmode_set,
        .vlan_port_pvid_set = rtl931x_vlan_port_pvid_set,
-       .trk_mbr_ctr = rtl931x_trk_mbr_ctr,
+       .trk_mbr_ctr = rtldsa_931x_trk_mbr_ctr,
        .set_vlan_igr_filter = rtl931x_set_igr_filter,
        .set_vlan_egr_filter = rtl931x_set_egr_filter,
        .set_distribution_algorithm = rtl931x_set_distribution_algorithm,