From: Måns Rullgård Date: Tue, 8 Dec 2015 15:38:46 +0000 (+0000) Subject: net: fec_mxc: unregister mdio bus on probe error X-Git-Url: http://git.dujemihanovic.xyz/img/sics.gif?a=commitdiff_plain;h=845a57b4de972aefb21bf7f13b23d472bccb6afb;p=u-boot.git net: fec_mxc: unregister mdio bus on probe error If fecmxc_initialize_multi() fails, it frees but does not unregister the mdio bus, causing subsequent uses of the "mii" command to crash. Fix this by adding mdio_unregister() calls where needed. Signed-off-by: Mans Rullgard Reviewed-by: Eric Nelson --- diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 798cc165dd..3340dd256f 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -1109,6 +1109,7 @@ int fecmxc_initialize_multi(bd_t *bd, int dev_id, int phy_id, uint32_t addr) #ifdef CONFIG_PHYLIB phydev = phy_find_by_mask(bus, 1 << phy_id, PHY_INTERFACE_MODE_RGMII); if (!phydev) { + mdio_unregister(bus); free(bus); return -ENOMEM; } @@ -1120,6 +1121,7 @@ int fecmxc_initialize_multi(bd_t *bd, int dev_id, int phy_id, uint32_t addr) #ifdef CONFIG_PHYLIB free(phydev); #endif + mdio_unregister(bus); free(bus); } return ret;