On Mon, 2008-07-07 at 16:07 -0700, Aaron Stellman wrote: > Hello again, > This solves the problem, thanks to Matthew R. Dempsky. > > Index: if_em.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/if_em.c,v > retrieving revision 1.185 > diff -p -u -r1.185 if_em.c > --- if_em.c 15 Jun 2008 16:37:00 -0000 1.185 > +++ if_em.c 7 Jul 2008 22:59:37 -0000 > @@ -1394,7 +1394,7 @@ em_update_link_status(struct em_softc *s > struct ifnet *ifp = &sc->interface_data.ac_if; > > if (E1000_READ_REG(&sc->hw, STATUS) & E1000_STATUS_LU) { > - if (sc->link_active == 0) { > + if (ifp->if_link_state != LINK_STATE_UP) { > em_get_speed_and_duplex(&sc->hw, > &sc->link_speed, > &sc->link_duplex); > @@ -1418,7 +1418,7 @@ em_update_link_status(struct em_softc *s > if_link_state_change(ifp); > } > } else { > - if (sc->link_active == 1) { > + if (ifp->if_link_state != LINK_STATE_DOWN) { > ifp->if_baudrate = sc->link_speed = 0; > sc->link_duplex = 0; > sc->link_active = 0; >
You just made my day! Thank you very much. As soon as I get home I'll patch the install on my thinkpad.