When the driver is not able to get or control the phy regulator memory
resources are already acquired and need to be released during rollback.

Signed-off-by: Stefan Riedmueller <[email protected]>
---
 drivers/net/fec_imx.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
index 31c91021893a..5ef1d4359e91 100644
--- a/drivers/net/fec_imx.c
+++ b/drivers/net/fec_imx.c
@@ -781,7 +781,8 @@ static int fec_probe(struct device_d *dev)
        if (IS_ERR(fec->reg_phy)) {
                if (PTR_ERR(fec->reg_phy) == -EPROBE_DEFER) {
                        ret = -EPROBE_DEFER;
-                       goto disable_clk;
+                       fec->reg_phy = NULL;
+                       goto release_res;
                }
                fec->reg_phy = NULL;
        }
@@ -789,7 +790,7 @@ static int fec_probe(struct device_d *dev)
        ret = regulator_enable(fec->reg_phy);
        if (ret) {
                dev_err(dev, "Failed to enable phy regulator: %d\n", ret);
-               goto disable_clk;
+               goto release_res;
        }
 
        phy_reset = of_get_named_gpio(dev->device_node, "phy-reset-gpios", 0);
-- 
2.7.4


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to