aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOskar Schirmer <oskar@linutronix.de>2010-10-06 22:30:30 -0400
committerDavid S. Miller <davem@davemloft.net>2010-10-11 00:12:27 -0400
commit03c698c93fc15d976738a853a7ccb6ea26396003 (patch)
treeffb5de06aefd486cd5d0bd7d23b845ebcb1628fe
parent82553bb6218d2707d2e6446d7b2313dfd60b48a8 (diff)
net/fec: carrier off initially to avoid root mount failure
with hardware slow in negotiation, the system did freeze while trying to mount root on nfs at boot time. the link state has not been initialised so network stack tried to start transmission right away. this caused instant retries, as the driver solely stated business upon link down, rendering the system unusable. notify carrier off initially to prevent transmission until phylib will report link up. Signed-off-by: Oskar Schirmer <oskar@linutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/fec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 768b840aeb6b..e83f67d22fe3 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1311,6 +1311,9 @@ fec_probe(struct platform_device *pdev)
1311 if (ret) 1311 if (ret)
1312 goto failed_mii_init; 1312 goto failed_mii_init;
1313 1313
1314 /* Carrier starts down, phylib will bring it up */
1315 netif_carrier_off(ndev);
1316
1314 ret = register_netdev(ndev); 1317 ret = register_netdev(ndev);
1315 if (ret) 1318 if (ret)
1316 goto failed_register; 1319 goto failed_register;