summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>2001-09-29 19:31:29 +0000
committerjlemon <jlemon@FreeBSD.org>2001-09-29 19:31:29 +0000
commit34552656b5bea7bf9ca847035308b763f24d4a2b (patch)
treeac2fc4c931b8c2f6ff7ce77be8cad380888fac01
parent7265fc9a25abf1e7ce5c2f861868d50ff0cb7ac7 (diff)
downloadFreeBSD-src-34552656b5bea7bf9ca847035308b763f24d4a2b.zip
FreeBSD-src-34552656b5bea7bf9ca847035308b763f24d4a2b.tar.gz
Do not call mii_polltick() immediately after mii_tick().
Poiinted out by: wpaul
-rw-r--r--sys/dev/bge/if_bge.c21
-rw-r--r--sys/dev/lge/if_lge.c1
-rw-r--r--sys/dev/nge/if_nge.c1
-rw-r--r--sys/dev/usb/if_aue.c12
4 files changed, 14 insertions, 21 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index a71dc3d..0d05f64 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -2045,18 +2045,15 @@ bge_tick(xsc)
mii = device_get_softc(sc->bge_miibus);
mii_tick(mii);
- if (!sc->bge_link) {
- mii_pollstat(mii);
- if (mii->mii_media_status & IFM_ACTIVE &&
- IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE) {
- sc->bge_link++;
- if (IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_TX ||
- IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_SX)
- printf("bge%d: gigabit link up\n",
- sc->bge_unit);
- if (ifp->if_snd.ifq_head != NULL)
- bge_start(ifp);
- }
+ if (!sc->bge_link && mii->mii_media_status & IFM_ACTIVE &&
+ IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE) {
+ sc->bge_link++;
+ if (IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_TX ||
+ IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_SX)
+ printf("bge%d: gigabit link up\n",
+ sc->bge_unit);
+ if (ifp->if_snd.ifq_head != NULL)
+ bge_start(ifp);
}
splx(s);
diff --git a/sys/dev/lge/if_lge.c b/sys/dev/lge/if_lge.c
index 254bd65..976beb4 100644
--- a/sys/dev/lge/if_lge.c
+++ b/sys/dev/lge/if_lge.c
@@ -1118,7 +1118,6 @@ static void lge_tick(xsc)
if (!sc->lge_link) {
mii = device_get_softc(sc->lge_miibus);
mii_tick(mii);
- mii_pollstat(mii);
if (mii->mii_media_status & IFM_ACTIVE &&
IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE) {
sc->lge_link++;
diff --git a/sys/dev/nge/if_nge.c b/sys/dev/nge/if_nge.c
index 99ff20c..658df7f 100644
--- a/sys/dev/nge/if_nge.c
+++ b/sys/dev/nge/if_nge.c
@@ -1442,7 +1442,6 @@ static void nge_tick(xsc)
mii_tick(mii);
if (!sc->nge_link) {
- mii_pollstat(mii);
if (mii->mii_media_status & IFM_ACTIVE &&
IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE) {
sc->nge_link++;
diff --git a/sys/dev/usb/if_aue.c b/sys/dev/usb/if_aue.c
index cf67feb..c68b4b9 100644
--- a/sys/dev/usb/if_aue.c
+++ b/sys/dev/usb/if_aue.c
@@ -1098,13 +1098,11 @@ Static void aue_tick(xsc)
}
mii_tick(mii);
- if (!sc->aue_link) {
- mii_pollstat(mii);
- if (mii->mii_media_status & IFM_ACTIVE &&
- IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE)
- sc->aue_link++;
- if (ifp->if_snd.ifq_head != NULL)
- aue_start(ifp);
+ if (!sc->aue_link && mii->mii_media_status & IFM_ACTIVE &&
+ IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE) {
+ sc->aue_link++;
+ if (ifp->if_snd.ifq_head != NULL)
+ aue_start(ifp);
}
sc->aue_stat_ch = timeout(aue_tick, sc, hz);
OpenPOWER on IntegriCloud