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.

Reply via email to