On Wed, Jun 22, 2011 at 11:43:27AM +0000, Thomas Gerlach wrote: > ...crap! sorry, something went wrong here. :(
I'm not sure what you mean went wrong. But in an effort to try to wrap this up, can you please try -current with just this diff and report back if that works? Thanks! Index: xl.c =================================================================== RCS file: /cvs/src/sys/dev/ic/xl.c,v retrieving revision 1.101 diff -u -p -r1.101 xl.c --- xl.c 17 Apr 2011 20:52:43 -0000 1.101 +++ xl.c 22 Jun 2011 13:10:24 -0000 @@ -2373,9 +2373,13 @@ xl_stop(struct xl_softc *sc) xl_freetxrx(sc); #ifndef SMALL_KERNEL - /* Call upper layer WOL power routine if WOL is enabled. */ - if ((sc->xl_flags & XL_FLAG_WOL) && sc->wol_power) + /* Re-enable RX and call upper layer WOL power routine + * if WOL is enabled. */ + if ((sc->xl_flags & XL_FLAG_WOL) && sc->wol_power) { + CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_RX_ENABLE); + xl_wait(sc); sc->wol_power(sc->wol_power_arg); + } #endif }