net/fec: carrier off initially to avoid root mount failure
authorOskar Schirmer <oskar@linutronix.de>
Thu, 7 Oct 2010 02:30:30 +0000 (02:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 11 Oct 2010 04:12:27 +0000 (21:12 -0700)
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>
drivers/net/fec.c

index 768b840aeb6b7b0bf2ceec87469bb0b4925b5d20..e83f67d22fe3487f168667bd3b7a06ffad1206a6 100644 (file)
@@ -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;