[RFC PATCH 2/2] net: dsa: probe master device

Michael Walle michael at walle.cc
Tue Feb 23 20:56:49 CET 2021


Am 2021-02-23 17:19, schrieb Michael Walle:
> DSA needs to have the master device probed first for MAC inheritance.
> Until now, it only works by chance because the only user (LS1028A SoC)
> will probe the master device first. The probe order is given by the PCI
> device ordering, thus it works because the master device has a 
> "smaller"
> BDF then the switch device.
> 
> Explicitly probe the master device in dsa_port_probe().
> 
> Fixes: fc054d563bfb ("net: Introduce DSA class for Ethernet switches")
> Signed-off-by: Michael Walle <michael at walle.cc>
> ---
>  net/dsa-uclass.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/net/dsa-uclass.c b/net/dsa-uclass.c
> index 88a8ea9352..242e2be035 100644
> --- a/net/dsa-uclass.c
> +++ b/net/dsa-uclass.c
> @@ -284,6 +284,14 @@ static int dsa_port_probe(struct udevice *pdev)
>  	if (!master)
>  		return -ENODEV;
> 
> +	/*
> +	 * Probe the master device. We depend on the master device for proper
> +	 * operation and we also need it for MAC inheritance below.
> +	 */
> +	ret = device_probe(master);

btw, there is a "int ret" missing above. Will be fixed in the non-RFC
version.

> +	if (ret)
> +		return ret;
> +
>  	/*
>  	 * Inherit port's hwaddr from the DSA master, unless the port already
>  	 * has a unique MAC address specified in the environment.

-- 
-michael


More information about the U-Boot mailing list