diff options
author | oleg <oleg@FreeBSD.org> | 2008-09-08 18:10:15 +0000 |
---|---|---|
committer | oleg <oleg@FreeBSD.org> | 2008-09-08 18:10:15 +0000 |
commit | a5110e6b7d74319cc9d4c83b44279e027a9056ca (patch) | |
tree | d7ef0b6c71f255a6e1dda5ad84c48be40452dcf6 | |
parent | 545c2d46345d39a6fdb921b29b11231b4f48e53c (diff) | |
download | FreeBSD-src-a5110e6b7d74319cc9d4c83b44279e027a9056ca.zip FreeBSD-src-a5110e6b7d74319cc9d4c83b44279e027a9056ca.tar.gz |
bge_tick(): do not touch PHY if link is up. This should solve problem with
extra input errors for some BCM57XX chips.
PR: kern/122295
-rw-r--r-- | sys/dev/bge/if_bge.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index 3735088..d8086bf 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -3387,8 +3387,12 @@ bge_tick(void *xsc) if ((sc->bge_flags & BGE_FLAG_TBI) == 0) { mii = device_get_softc(sc->bge_miibus); - /* Don't mess with the PHY in IPMI/ASF mode */ - if (!((sc->bge_asf_mode & ASF_STACKUP) && (sc->bge_link))) + /* + * Do not touch PHY if we have link up. This could break + * IPMI/ASF mode or produce extra input errors + * (extra errors was reported for bcm5701 & bcm5704). + */ + if (!sc->bge_link) mii_tick(mii); } else { /* |