summaryrefslogtreecommitdiffstats
path: root/drivers/net/tsec.c
diff options
context:
space:
mode:
authorTimur Tabi <timur@freescale.com>2012-07-09 08:52:43 +0000
committerJoe Hershberger <joe.hershberger@ni.com>2012-07-11 13:15:30 -0500
commit11af8d65274df736deeb651d12e0763eec527ea5 (patch)
treef1a168fd00307be243b3978fdceace496e6eabc8 /drivers/net/tsec.c
parent6e5b9ac097689e96d53f638842823fb1d1bf4223 (diff)
downloadtalos-obmc-uboot-11af8d65274df736deeb651d12e0763eec527ea5.tar.gz
talos-obmc-uboot-11af8d65274df736deeb651d12e0763eec527ea5.zip
net: abort network initialization if the PHY driver fails
Now that phy_startup() can return an actual error code, check for that error code and abort network initialization if the PHY fails. Signed-off-by: Timur Tabi <timur@freescale.com> Acked-by: Nobuhiro Iwamamatsu <nobuhiro.iwamatsu.yj@renesas.com> (sh_eth part) Acked-by: Stephan Linz <linz@li-pro.net> (Xilinx part, xilinx_axi_emac and xilinx_ll_temac) Reviewed-by: Marek Vasut <marex@denx.de> (FEC part)
Diffstat (limited to 'drivers/net/tsec.c')
-rw-r--r--drivers/net/tsec.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index 3c1c8f0799..f5e314b9ee 100644
--- a/drivers/net/tsec.c
+++ b/drivers/net/tsec.c
@@ -480,6 +480,7 @@ static int tsec_init(struct eth_device *dev, bd_t * bd)
int i;
struct tsec_private *priv = (struct tsec_private *)dev->priv;
tsec_t *regs = priv->regs;
+ int ret;
/* Make sure the controller is stopped */
tsec_halt(dev);
@@ -511,7 +512,12 @@ static int tsec_init(struct eth_device *dev, bd_t * bd)
startup_tsec(dev);
/* Start up the PHY */
- phy_startup(priv->phydev);
+ ret = phy_startup(priv->phydev);
+ if (ret) {
+ printf("Could not initialize PHY %s\n",
+ priv->phydev->dev->name);
+ return ret;
+ }
adjust_link(priv, priv->phydev);
OpenPOWER on IntegriCloud