summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_sis.c
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>2001-09-29 19:28:31 +0000
committerjlemon <jlemon@FreeBSD.org>2001-09-29 19:28:31 +0000
commit7265fc9a25abf1e7ce5c2f861868d50ff0cb7ac7 (patch)
tree059d83b39e680ff22f9e9aee5eb54410ca5ecbe3 /sys/pci/if_sis.c
parent7ec889372d0e5b4a87c80ff2e066f5c6419b2b28 (diff)
downloadFreeBSD-src-7265fc9a25abf1e7ce5c2f861868d50ff0cb7ac7.zip
FreeBSD-src-7265fc9a25abf1e7ce5c2f861868d50ff0cb7ac7.tar.gz
Do not call mii_pollstat() from within device tick routines; the status
information is updated by mii_tick(). Pointed out by: wpaul (a while back)
Diffstat (limited to 'sys/pci/if_sis.c')
-rw-r--r--sys/pci/if_sis.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/sys/pci/if_sis.c b/sys/pci/if_sis.c
index 0e4f0fe..19f6d32 100644
--- a/sys/pci/if_sis.c
+++ b/sys/pci/if_sis.c
@@ -1417,13 +1417,11 @@ static void sis_tick(xsc)
mii = device_get_softc(sc->sis_miibus);
mii_tick(mii);
- if (!sc->sis_link) {
- mii_pollstat(mii);
- if (mii->mii_media_status & IFM_ACTIVE &&
- IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE)
- sc->sis_link++;
- if (ifp->if_snd.ifq_head != NULL)
- sis_start(ifp);
+ if (!sc->sis_link && mii->mii_media_status & IFM_ACTIVE &&
+ IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE) {
+ sc->sis_link++;
+ if (ifp->if_snd.ifq_head != NULL)
+ sis_start(ifp);
}
sc->sis_stat_ch = timeout(sis_tick, sc, hz);
OpenPOWER on IntegriCloud