svn commit: r232031 - head/sys/dev/sf
Pyun YongHyeon
yongari at FreeBSD.org
Thu Feb 23 06:35:19 UTC 2012
Author: yongari
Date: Thu Feb 23 06:35:18 2012
New Revision: 232031
URL: http://svn.freebsd.org/changeset/base/232031
Log:
With r232015, sf(4) gets correct speed/duplex of established link.
Add more strict speed check in sf_miibus_statchg() and do not touch
MAC config registers when driver lost a link.
Modified:
head/sys/dev/sf/if_sf.c
Modified: head/sys/dev/sf/if_sf.c
==============================================================================
--- head/sys/dev/sf/if_sf.c Thu Feb 23 06:26:16 2012 (r232030)
+++ head/sys/dev/sf/if_sf.c Thu Feb 23 06:35:18 2012 (r232031)
@@ -403,11 +403,19 @@ sf_miibus_statchg(device_t dev)
(ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
return;
- if (mii->mii_media_status & IFM_ACTIVE) {
- if (IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE)
+ sc->sf_link = 0;
+ if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) ==
+ (IFM_ACTIVE | IFM_AVALID)) {
+ switch (IFM_SUBTYPE(mii->mii_media_active)) {
+ case IFM_10_T:
+ case IFM_100_TX:
+ case IFM_100_FX:
sc->sf_link = 1;
- } else
- sc->sf_link = 0;
+ break;
+ }
+ }
+ if (sc->sf_link == 0)
+ return;
val = csr_read_4(sc, SF_MACCFG_1);
val &= ~SF_MACCFG1_FULLDUPLEX;
More information about the svn-src-all
mailing list