diff --git a/sys/dev/ale/if_ale.c b/sys/dev/ale/if_ale.c index 31255e15753..f79346c2c4f 100644 --- a/sys/dev/ale/if_ale.c +++ b/sys/dev/ale/if_ale.c @@ -301,6 +301,10 @@ ale_mediastatus(struct ifnet *ifp, struct ifmediareq *ifmr) sc = ifp->if_softc; ALE_LOCK(sc); + if ((ifp->if_flags & IFF_UP) == 0) { + ALE_UNLOCK(sc); + return; + } mii = device_get_softc(sc->ale_miibus); mii_pollstat(mii);