From 56aa38e89ca4adba873bae5fc1a4d2774242b044 Mon Sep 17 00:00:00 2001 From: imp Date: Wed, 4 Jan 2006 23:00:01 +0000 Subject: 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... --- sys/dev/fxp/if_fxp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sys') 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; -- cgit v1.1