diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2013-12-11 07:44:14 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-12-11 19:40:48 +0100 |
commit | d469962f858b71ec43112c256e3df4a60b00beeb (patch) | |
tree | ed01efa8052f6590e4664cc97fcd85b3e6ed8527 /drivers/net/ethernet/broadcom/bgmac.c | |
parent | net_sched: expand control flow of macro SKIP_NONLOCAL (diff) | |
download | linux-d469962f858b71ec43112c256e3df4a60b00beeb.tar.xz linux-d469962f858b71ec43112c256e3df4a60b00beeb.zip |
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 <zajec5@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bgmac.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/bgmac.c | 2 |
1 files changed, 2 insertions, 0 deletions
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) |