Net: macb: reset GBE bit when fallback checking
authorBo Shen <voice.shen@atmel.com>
Wed, 4 Mar 2015 05:35:16 +0000 (13:35 +0800)
committerAndreas Bießmann <andreas.devel@googlemail.com>
Wed, 18 Mar 2015 22:36:09 +0000 (23:36 +0100)
If the GBE bit is set, when do next time autonegotiation,
if the result is not 1000Mbps, it will fallback to 100Mbps
checking. So, we need to clear the GBE bit.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
drivers/net/macb.c

index 9c2ff487a709f57eae7caa6df51a8dce7292f2cd..170ff0646fe0b8da83578ba8a6a978e439b23201 100644 (file)
@@ -515,7 +515,7 @@ static int macb_phy_init(struct macb_device *macb)
               lpa);
 
        ncfgr = macb_readl(macb, NCFGR);
-       ncfgr &= ~(MACB_BIT(SPD) | MACB_BIT(FD));
+       ncfgr &= ~(MACB_BIT(SPD) | MACB_BIT(FD) | GEM_BIT(GBE));
        if (speed)
                ncfgr |= MACB_BIT(SPD);
        if (duplex)