--- src/sys/dev/netif/nge/if_nge.c 2006/10/25 20:55:58 1.39 +++ src/sys/dev/netif/nge/if_nge.c 2006/11/30 01:38:54 1.40 @@ -2025,7 +2025,7 @@ nge_stop(struct nge_softc *sc) struct ifnet *ifp = &sc->arpcom.ac_if; struct ifmedia_entry *ifm; struct mii_data *mii; - int i, itmp, mtmp; + int i, itmp, mtmp, dtmp; ifp->if_timer = 0; if (sc->nge_tbi) @@ -2053,13 +2053,16 @@ nge_stop(struct nge_softc *sc) ifm = sc->nge_ifmedia.ifm_cur; else ifm = mii->mii_media.ifm_cur; - + mtmp = ifm->ifm_media; + dtmp = ifm->ifm_data; ifm->ifm_media = IFM_ETHER|IFM_NONE; - + ifm->ifm_data = MII_MEDIA_NONE; + if (!sc->nge_tbi) mii_mediachg(mii); ifm->ifm_media = mtmp; + ifm->ifm_data = dtmp; ifp->if_flags = itmp; sc->nge_link = 0;