net: dsa: pass CPU port fixed PHY to .port_disable
authorVladimir Oltean <vladimir.oltean@nxp.com>
Sat, 18 Sep 2021 11:49:55 +0000 (14:49 +0300)
committerRamon Fried <rfried.dev@gmail.com>
Tue, 28 Sep 2021 15:50:56 +0000 (18:50 +0300)
While adding the logic for DSA to register a fixed-link PHY for the CPU
port, I forgot to pass it to the .port_disable method too, just
.port_enable.

Bug had no impact for felix_switch.c, due to the phy argument not being
used, but ksz9477.c does use it => NULL pointer dereference.

Fixes: fc054d563bfb ("net: Introduce DSA class for Ethernet switches")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
net/dsa-uclass.c

index 9b8ae1e..d1c6c78 100644 (file)
@@ -100,7 +100,7 @@ static void dsa_port_stop(struct udevice *pdev)
 
                port_pdata = dev_get_parent_plat(pdev);
                ops->port_disable(dev, port_pdata->index, port_pdata->phy);
-               ops->port_disable(dev, priv->cpu_port, NULL);
+               ops->port_disable(dev, priv->cpu_port, priv->cpu_port_fixed_phy);
        }
 
        eth_get_ops(master)->stop(master);