Skip to content

Commit b2eb09a

Browse files
ffainellidavem330
authored andcommitted
net: stmmac: Fix error path after register_netdev move
Commit 5701659 ("net: stmmac: Fix race between stmmac_drv_probe and stmmac_open") re-ordered how the MDIO bus registration and the network device are registered, but missed to unwind the MDIO bus registration in case we fail to register the network device. Fixes: 5701659 ("net: stmmac: Fix race between stmmac_drv_probe and stmmac_open") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Kweh, Hock Leong <hock.leong.kweh@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent e4c5e13 commit b2eb09a

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3366,12 +3366,19 @@ int stmmac_dvr_probe(struct device *device,
33663366
}
33673367

33683368
ret = register_netdev(ndev);
3369-
if (ret)
3369+
if (ret) {
33703370
netdev_err(priv->dev, "%s: ERROR %i registering the device\n",
33713371
__func__, ret);
3372+
goto error_netdev_register;
3373+
}
33723374

33733375
return ret;
33743376

3377+
error_netdev_register:
3378+
if (priv->hw->pcs != STMMAC_PCS_RGMII &&
3379+
priv->hw->pcs != STMMAC_PCS_TBI &&
3380+
priv->hw->pcs != STMMAC_PCS_RTBI)
3381+
stmmac_mdio_unregister(ndev);
33753382
error_mdio_register:
33763383
netif_napi_del(&priv->napi);
33773384
error_hw_init:

0 commit comments

Comments
 (0)