diff options
Diffstat (limited to 'drivers/net/ethernet/freescale/fec_main.c')
| -rw-r--r-- | drivers/net/ethernet/freescale/fec_main.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 8184d2fca9be..a74300a4459c 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -3469,6 +3469,10 @@ fec_probe(struct platform_device *pdev)  			goto failed_regulator;  		}  	} else { +		if (PTR_ERR(fep->reg_phy) == -EPROBE_DEFER) { +			ret = -EPROBE_DEFER; +			goto failed_regulator; +		}  		fep->reg_phy = NULL;  	} @@ -3552,8 +3556,9 @@ failed_clk_ipg:  failed_clk:  	if (of_phy_is_fixed_link(np))  		of_phy_deregister_fixed_link(np); -failed_phy:  	of_node_put(phy_node); +failed_phy: +	dev_id--;  failed_ioremap:  	free_netdev(ndev);  |