summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOskar Schirmer <oskar@linutronix.de>2010-10-07 04:30:30 +0200
committerDavid S. Miller <davem@davemloft.net>2010-10-11 06:12:27 +0200
commit03c698c93fc15d976738a853a7ccb6ea26396003 (patch)
treeffb5de06aefd486cd5d0bd7d23b845ebcb1628fe
parentr8169: use device model DMA API (diff)
downloadlinux-03c698c93fc15d976738a853a7ccb6ea26396003.tar.xz
linux-03c698c93fc15d976738a853a7ccb6ea26396003.zip
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)
if (ret)
goto failed_mii_init;
+ /* Carrier starts down, phylib will bring it up */
+ netif_carrier_off(ndev);
+
ret = register_netdev(ndev);
if (ret)
goto failed_register;