net: dsa: Deal with non-existing PHY/fixed-link

We need to specifically deal with phylink_of_phy_connect() returning
-ENODEV, because this can happen when a CPU/DSA port does connect
neither to a PHY, nor has a fixed-link property. This is a valid use
case that is permitted by the binding and indicates to the switch:
auto-configure port with maximum capabilities.

Fixes: 0e27921816 ("net: dsa: Use PHYLINK for the CPU/DSA ports")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Florian Fainelli 2019-06-10 12:31:49 -07:00 committed by David S. Miller
parent fcf15367cb
commit 2131fba531

View File

@ -618,7 +618,7 @@ static int dsa_port_phylink_register(struct dsa_port *dp)
} }
err = phylink_of_phy_connect(dp->pl, port_dn, 0); err = phylink_of_phy_connect(dp->pl, port_dn, 0);
if (err) { if (err && err != -ENODEV) {
pr_err("could not attach to PHY: %d\n", err); pr_err("could not attach to PHY: %d\n", err);
goto err_phy_connect; goto err_phy_connect;
} }