net: dsa: return early if there is no master
It doesn't make sense to have DSA without a master port. Error out early
if there is no master port.
Fixes: fc054d563b
("net: Introduce DSA class for Ethernet switches")
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
6ce33e2288
commit
a02dcbbb5a
1 changed files with 4 additions and 4 deletions
|
@ -280,6 +280,10 @@ static int dsa_port_probe(struct udevice *pdev)
|
|||
if (!port_pdata->phy)
|
||||
return -ENODEV;
|
||||
|
||||
master = dsa_get_master(dev);
|
||||
if (!master)
|
||||
return -ENODEV;
|
||||
|
||||
/*
|
||||
* Inherit port's hwaddr from the DSA master, unless the port already
|
||||
* has a unique MAC address specified in the environment.
|
||||
|
@ -288,10 +292,6 @@ static int dsa_port_probe(struct udevice *pdev)
|
|||
if (!is_zero_ethaddr(env_enetaddr))
|
||||
return 0;
|
||||
|
||||
master = dsa_get_master(dev);
|
||||
if (!master)
|
||||
return 0;
|
||||
|
||||
master_pdata = dev_get_plat(master);
|
||||
eth_pdata = dev_get_plat(pdev);
|
||||
memcpy(eth_pdata->enetaddr, master_pdata->enetaddr, ARP_HLEN);
|
||||
|
|
Loading…
Reference in a new issue