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 9c2ff48..170ff06 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)