When nvmem is not ready, of_get_ethdev_address returns -EPROBE_DEFER. In
such a case, return -EPROBE_DEFER to avoid not having a proper MAC
address.

Signed-off-by: Rosen Penev <ros...@gmail.com>
---
 drivers/net/ethernet/freescale/ucc_geth.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/ucc_geth.c 
b/drivers/net/ethernet/freescale/ucc_geth.c
index 88a9e7db687c..30453a20e467 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -3735,7 +3735,9 @@ static int ucc_geth_probe(struct platform_device* ofdev)
                goto err_deregister_fixed_link;
        }
 
-       of_get_ethdev_address(np, dev);
+       err = of_get_ethdev_address(np, dev);
+       if (err == -EPROBE_DEFER)
+               goto err_deregister_fixed_link;
 
        ugeth->ug_info = ug_info;
        ugeth->dev = device;
-- 
2.47.0


Reply via email to