From: Michal Simek Date: Thu, 21 Nov 2013 15:17:08 +0000 (+0100) Subject: net: emaclite: Check if phy was correctly detected X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2a4d1bac112853212f476177bd7a37a4c9d3bffd;p=thirdparty%2Fu-boot.git net: emaclite: Check if phy was correctly detected As tsec and fm drivers checking phydev->link ensure that u-boot don't try access device if link is not ready. Signed-off-by: Michal Simek --- diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index 2eaa9a924ef..0b07238b49d 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -272,6 +272,11 @@ static int setup_phy(struct eth_device *dev) phy_config(phydev); phy_startup(phydev); + if (!phydev->link) { + printf("%s: No link.\n", phydev->dev->name); + return 0; + } + /* Do not setup anything */ return 1; } @@ -330,7 +335,8 @@ static int emaclite_init(struct eth_device *dev, bd_t *bis) out_be32((u32 *)(dev->iobase + XEL_MDIOCTRL_OFFSET), XEL_MDIOCTRL_MDIOEN_MASK); temp = in_be32((u32 *)(dev->iobase + XEL_MDIOCTRL_OFFSET)); if (temp & XEL_MDIOCTRL_MDIOEN_MASK) - setup_phy(dev); + if (!setup_phy(dev)) + return -1; #endif debug("EmacLite Initialization complete\n");