diff options
author | imp <imp@FreeBSD.org> | 2006-01-04 23:00:01 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2006-01-04 23:00:01 +0000 |
commit | 56aa38e89ca4adba873bae5fc1a4d2774242b044 (patch) | |
tree | d99c98974255938e8c4a00c4413e6c5a19e0bb2a /sys/dev/fxp/if_fxp.c | |
parent | 1a03c39e37c26922ccbe55bfa14ac0ebb2833fab (diff) | |
download | FreeBSD-src-56aa38e89ca4adba873bae5fc1a4d2774242b044.zip FreeBSD-src-56aa38e89ca4adba873bae5fc1a4d2774242b044.tar.gz |
Check for 10BaseT media correctly. Before we were confusing
ifm_status and ifm_active. IFM_10_T gets set in the ifm_active field,
not in the ifm_status field, as far as I can tell.
Note: this was to enable a workaround that's rarely enabled. I don't know
how to corrupt my eeprom to test it, and would rather not know...
Diffstat (limited to 'sys/dev/fxp/if_fxp.c')
-rw-r--r-- | sys/dev/fxp/if_fxp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/fxp/if_fxp.c b/sys/dev/fxp/if_fxp.c index db11798..18f993c 100644 --- a/sys/dev/fxp/if_fxp.c +++ b/sys/dev/fxp/if_fxp.c @@ -2213,7 +2213,8 @@ fxp_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) ifmr->ifm_active = mii->mii_media_active; ifmr->ifm_status = mii->mii_media_status; - if (ifmr->ifm_status & IFM_10_T && sc->flags & FXP_FLAG_CU_RESUME_BUG) + if (IFM_SUBTYPE(ifmr->ifm_active) == IFM_10_T && + sc->flags & FXP_FLAG_CU_RESUME_BUG) sc->cu_resume_bug = 1; else sc->cu_resume_bug = 0; |