Index: sys/dev/bge/if_bge.c =================================================================== RCS file: /home/ncvs/src/sys/dev/bge/if_bge.c,v retrieving revision 1.91.2.4 diff -u -r1.91.2.4 if_bge.c --- sys/dev/bge/if_bge.c 9 Oct 2005 04:15:11 -0000 1.91.2.4 +++ sys/dev/bge/if_bge.c 22 Oct 2005 08:36:05 -0000 @@ -3026,24 +3094,20 @@ struct bge_softc *sc; { struct mii_data *mii = NULL; - struct ifmedia *ifm = NULL; struct ifnet *ifp; - ifp = sc->bge_ifp; - BGE_LOCK_ASSERT(sc); + ifp = sc->bge_ifp; + if (sc->bge_asicrev == BGE_ASICREV_BCM5705 || sc->bge_asicrev == BGE_ASICREV_BCM5750) bge_stats_update_regs(sc); else bge_stats_update(sc); callout_reset(&sc->bge_stat_ch, hz, bge_tick, sc); - if (sc->bge_link) - return; if (sc->bge_tbi) { - ifm = &sc->bge_ifmedia; if (CSR_READ_4(sc, BGE_MAC_STS) & BGE_MACSTAT_TBI_PCS_SYNCHED) { sc->bge_link++; @@ -3073,8 +3137,6 @@ if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) bge_start_locked(ifp); } - - return; } static void