fec: Disable the PHY regulator on error and removal
In the case of error during probe, disable the PHY regulator. Do the same in fec_drv_remove(). Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7a2bbd8d8e
commit
f6a4d607b3
|
@ -1926,6 +1926,8 @@ fec_probe(struct platform_device *pdev)
|
|||
"Failed to enable phy regulator: %d\n", ret);
|
||||
goto failed_regulator;
|
||||
}
|
||||
} else {
|
||||
fep->reg_phy = NULL;
|
||||
}
|
||||
|
||||
fec_reset_phy(pdev);
|
||||
|
@ -1982,6 +1984,8 @@ failed_irq:
|
|||
free_irq(irq, ndev);
|
||||
}
|
||||
failed_init:
|
||||
if (fep->reg_phy)
|
||||
regulator_disable(fep->reg_phy);
|
||||
failed_regulator:
|
||||
clk_disable_unprepare(fep->clk_ahb);
|
||||
clk_disable_unprepare(fep->clk_ipg);
|
||||
|
@ -2005,6 +2009,8 @@ fec_drv_remove(struct platform_device *pdev)
|
|||
unregister_netdev(ndev);
|
||||
fec_enet_mii_remove(fep);
|
||||
del_timer_sync(&fep->time_keep);
|
||||
if (fep->reg_phy)
|
||||
regulator_disable(fep->reg_phy);
|
||||
clk_disable_unprepare(fep->clk_ptp);
|
||||
if (fep->ptp_clock)
|
||||
ptp_clock_unregister(fep->ptp_clock);
|
||||
|
|
Loading…
Reference in New Issue