net: stmmac: failure to probe without MAC interface specified
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 29 Aug 2023 13:29:50 +0000 (14:29 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 31 Aug 2023 01:32:19 +0000 (18:32 -0700)
Alexander Stein reports that commit a014c35556b9 ("net: stmmac: clarify
difference between "interface" and "phy_interface"") caused breakage,
because plat->mac_interface will never be negative. Fix this by using
the "rc" temporary variable in stmmac_probe_config_dt().

Reported-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Link: https://lore.kernel.org/r/E1qayn0-006Q8J-GE@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c

index 35f4b14..0f28795 100644 (file)
@@ -419,9 +419,8 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac)
                return ERR_PTR(phy_mode);
 
        plat->phy_interface = phy_mode;
-       plat->mac_interface = stmmac_of_get_mac_mode(np);
-       if (plat->mac_interface < 0)
-               plat->mac_interface = plat->phy_interface;
+       rc = stmmac_of_get_mac_mode(np);
+       plat->mac_interface = rc < 0 ? plat->phy_interface : rc;
 
        /* Some wrapper drivers still rely on phy_node. Let's save it while
         * they are not converted to phylink. */