From: Rafał Miłecki Date: Wed, 11 Dec 2013 06:44:14 +0000 (+0100) Subject: bgmac: reset cached MAC state during chip reset X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=d469962f858b71ec43112c256e3df4a60b00beeb;p=deliverable%2Flinux.git bgmac: reset cached MAC state during chip reset Without this bgmac_adjust_link didn't know it should re-initialize MAC state. This led to the MAC not working after if down & up routine. Signed-off-by: Rafał Miłecki Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c index fd6a22e3dd75..273b9f97da49 100644 --- a/drivers/net/ethernet/broadcom/bgmac.c +++ b/drivers/net/ethernet/broadcom/bgmac.c @@ -953,6 +953,8 @@ static void bgmac_chip_reset(struct bgmac *bgmac) BGMAC_CMDCFG_CFE | BGMAC_CMDCFG_SR, false); + bgmac->mac_speed = SPEED_UNKNOWN; + bgmac->mac_duplex = DUPLEX_UNKNOWN; bgmac_clear_mib(bgmac); if (core->id.id == BCMA_CORE_4706_MAC_GBIT)