summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2009-02-27 16:35:05 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2009-04-06 11:15:45 +0200
commitb7ed4d8fa925c5c686b771027ec35efb1d9e4be1 (patch)
tree07f1db67a6c7a39b80bd5ce71a5e7a72000cd595 /drivers/net
parent53488058e6f0cbbb2df559eed5bc8d2245f0288c (diff)
downloadbarebox-b7ed4d8fa925c5c686b771027ec35efb1d9e4be1.tar.gz
barebox-b7ed4d8fa925c5c686b771027ec35efb1d9e4be1.tar.xz
fec: fail on open when autonegotiation fails
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/fec_imx.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
index 8093d48765..f75ab42886 100644
--- a/drivers/net/fec_imx.c
+++ b/drivers/net/fec_imx.c
@@ -328,6 +328,7 @@ static int fec_init(struct eth_device *dev)
static int fec_open(struct eth_device *edev)
{
struct fec_priv *fec = (struct fec_priv *)edev->priv;
+ int ret;
/* full-duplex, heartbeat disabled */
writel(1 << 2, fec->regs + FEC_X_CNTRL);
@@ -343,7 +344,9 @@ static int fec_open(struct eth_device *edev)
fec_rx_task_enable(fec);
if (fec->xcv_type != SEVENWIRE) {
- miiphy_wait_aneg(&fec->miiphy);
+ ret = miiphy_wait_aneg(&fec->miiphy);
+ if (ret)
+ return ret;
miiphy_print_status(&fec->miiphy);
}