Re: [PATCH net-next] net: dsa: Deal with non-existing PHY/fixed-link

From: Vladimir Oltean
Date: Mon Jun 10 2019 - 15:58:10 EST


On Mon, 10 Jun 2019 at 22:31, Florian Fainelli <f.fainelli@xxxxxxxxx> wrote:
>
> 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: 0e27921816ad ("net: dsa: Use PHYLINK for the CPU/DSA ports")
> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
> ---
> net/dsa/port.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/dsa/port.c b/net/dsa/port.c
> index d74bc9df1359..dde3085ff065 100644
> --- a/net/dsa/port.c
> +++ b/net/dsa/port.c
> @@ -622,7 +622,7 @@ static int dsa_port_phylink_register(struct dsa_port *dp)
> }
>
> 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);
> goto err_phy_connect;
> }
> --
> 2.17.1
>

Hi Florian,

Can you give an example of when this is a valid use case, and why
fixed-link is not appropriate?

Regards,
-Vladimir