diff options
author | Michal Simek <michal.simek@xilinx.com> | 2016-05-18 10:37:22 (GMT) |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2016-05-24 11:17:55 (GMT) |
commit | 55259e7cda875bff3e0fcfd5fc61478f40872841 (patch) | |
tree | 563ef5c99ff77558b2b27247003b48da4ac4419b /drivers/net | |
parent | ed0cea7c5271cbfd37089f3a6392ba383eda06f7 (diff) | |
download | u-boot-55259e7cda875bff3e0fcfd5fc61478f40872841.tar.xz |
net: xilinx: Handle error value from phy_startup()
Handle error returned by phy_startup() properly.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/xilinx_emaclite.c | 6 | ||||
-rw-r--r-- | drivers/net/zynq_gem.c | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c index 5862bf0..7b85aa0 100644 --- a/drivers/net/xilinx_emaclite.c +++ b/drivers/net/xilinx_emaclite.c @@ -250,7 +250,7 @@ static void emaclite_stop(struct udevice *dev) static int setup_phy(struct udevice *dev) { - int i; + int i, ret; u16 phyreg; struct xemaclite *emaclite = dev_get_priv(dev); struct phy_device *phydev; @@ -302,7 +302,9 @@ static int setup_phy(struct udevice *dev) phydev->advertising = supported; emaclite->phydev = phydev; phy_config(phydev); - phy_startup(phydev); + ret = phy_startup(phydev); + if (ret) + return ret; if (!phydev->link) { printf("%s: No link.\n", phydev->dev->name); diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c index aec8077..3704ce0 100644 --- a/drivers/net/zynq_gem.c +++ b/drivers/net/zynq_gem.c @@ -360,6 +360,7 @@ static int zynq_phy_init(struct udevice *dev) static int zynq_gem_init(struct udevice *dev) { u32 i, nwconfig; + int ret; unsigned long clk_rate = 0; struct zynq_gem_priv *priv = dev_get_priv(dev); struct zynq_gem_regs *regs = priv->iobase; @@ -427,7 +428,9 @@ static int zynq_gem_init(struct udevice *dev) priv->init++; } - phy_startup(priv->phydev); + ret = phy_startup(priv->phydev); + if (ret) + return ret; if (!priv->phydev->link) { printf("%s: No link.\n", priv->phydev->dev->name); |