From: Oskar Schirmer <oskar@linutronix.de>
Date: Thu, 7 Oct 2010 02:30:30 +0000 (+0000)
Subject: net/fec: carrier off initially to avoid root mount failure
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=03c698c93fc15d976738a853a7ccb6ea26396003;p=linux.git

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>
---

diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 768b840aeb6b7..e83f67d22fe34 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;