realtek: swap *_phylink_mac_link_down() contents
authorINAGAKI Hiroshi <musashino.open@gmail.com>
Sun, 10 Apr 2022 07:45:57 +0000 (16:45 +0900)
committerSander Vanheule <sander@svanheule.net>
Sat, 8 Oct 2022 09:05:02 +0000 (11:05 +0200)
Fix the (accidentally?) swapped contents of
rtl83xx_phylink_mac_link_down() and rtl93xx_phylink_mac_link_down().

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[amend commit message]
Signed-off-by: Sander Vanheule <sander@svanheule.net>
target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c

index f08ede730b83cc3412095ce5df501704d1d3d747..3ff1a96ed680264daf7a1859f9f644c6d06df874 100644 (file)
@@ -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,