From: INAGAKI Hiroshi <[email protected]>

Fix the (accidentally?) swapped contents of
rtl83xx_phylink_mac_link_down() and rtl93xx_phylink_mac_link_down().

Signed-off-by: INAGAKI Hiroshi <[email protected]>
[amend commit message]
Signed-off-by: Sander Vanheule <[email protected]>
---
 .../files-5.10/drivers/net/dsa/rtl83xx/dsa.c      | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

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 f08ede730b83..3ff1a96ed680 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
@@ -864,17 +864,12 @@ static void rtl83xx_phylink_mac_link_down(struct 
dsa_switch *ds, int port,
                                     phy_interface_t interface)
 {
        struct rtl838x_switch_priv *priv = ds->priv;
-       u32 v;
 
        /* Stop TX/RX to port */
        sw_w32_mask(0x3, 0, priv->r->mac_port_ctrl(port));
 
        // No longer force link
-       if (priv->family_id == RTL9300_FAMILY_ID)
-               v = RTL930X_FORCE_EN | RTL930X_FORCE_LINK_EN;
-       else if (priv->family_id == RTL9310_FAMILY_ID)
-               v = RTL931X_FORCE_EN | RTL931X_FORCE_LINK_EN;
-       sw_w32_mask(v, 0, priv->r->mac_port_ctrl(port));
+       sw_w32_mask(0x3, 0, priv->r->mac_force_mode_ctrl(port));
 }
 
 static void rtl93xx_phylink_mac_link_down(struct dsa_switch *ds, int port,
@@ -882,11 +877,17 @@ static void rtl93xx_phylink_mac_link_down(struct 
dsa_switch *ds, int port,
                                     phy_interface_t interface)
 {
        struct rtl838x_switch_priv *priv = ds->priv;
+       u32 v = 0;
+
        /* Stop TX/RX to port */
        sw_w32_mask(0x3, 0, priv->r->mac_port_ctrl(port));
 
        // No longer force link
-       sw_w32_mask(3, 0, priv->r->mac_force_mode_ctrl(port));
+       if (priv->family_id == RTL9300_FAMILY_ID)
+               v = RTL930X_FORCE_EN | RTL930X_FORCE_LINK_EN;
+       else if (priv->family_id == RTL9310_FAMILY_ID)
+               v = RTL931X_FORCE_EN | RTL931X_FORCE_LINK_EN;
+       sw_w32_mask(v, 0, priv->r->mac_force_mode_ctrl(port));
 }
 
 static void rtl83xx_phylink_mac_link_up(struct dsa_switch *ds, int port,
-- 
2.37.3


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to