From: Sepherosa Ziehau Date: Sun, 31 Jul 2011 06:53:23 +0000 (+0800) Subject: msk(4): If link is down, don't disable RX/TX MACs if they are not enabled X-Git-Tag: v2.12.0~261 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/53f9b60099fbe4c7d8f89886aaa6e47a32a0589f msk(4): If link is down, don't disable RX/TX MACs if they are not enabled Obtained-from: FreeBSD 192727 --- diff --git a/sys/dev/netif/msk/if_msk.c b/sys/dev/netif/msk/if_msk.c index 8ab15a0522..0b16cb0e25 100644 --- a/sys/dev/netif/msk/if_msk.c +++ b/sys/dev/netif/msk/if_msk.c @@ -494,10 +494,12 @@ msk_miibus_statchg(device_t dev) msk_phy_writereg(sc_if, PHY_ADDR_MARV, PHY_MARV_INT_MASK, 0); /* Disable Rx/Tx MAC. */ gmac = GMAC_READ_2(sc, sc_if->msk_port, GM_GP_CTRL); - gmac &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA); - GMAC_WRITE_2(sc, sc_if->msk_port, GM_GP_CTRL, gmac); - /* Read again to ensure writing. */ - GMAC_READ_2(sc, sc_if->msk_port, GM_GP_CTRL); + if (gmac & (GM_GPCR_RX_ENA | GM_GPCR_TX_ENA)) { + gmac &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA); + GMAC_WRITE_2(sc, sc_if->msk_port, GM_GP_CTRL, gmac); + /* Read again to ensure writing. */ + GMAC_READ_2(sc, sc_if->msk_port, GM_GP_CTRL); + } } }