On Tue, Oct 05, 2010 at 10:35:28AM +0200, Mike Belopuhov wrote: > > there's a forgotten splx in the driver. that explains why system > appears to be hung. OK?
While this is a bug and should be fixed, we never actually call that codepath as only re_diag sets testmode and we never call that :) > > Index: re.c > =================================================================== > RCS file: /home/cvs/src/sys/dev/ic/re.c,v > retrieving revision 1.128 > diff -u -p -u -p -r1.128 re.c > --- re.c 27 Aug 2010 17:08:00 -0000 1.128 > +++ re.c 5 Oct 2010 08:27:05 -0000 > @@ -2042,8 +2042,10 @@ re_init(struct ifnet *ifp) > if (sc->sc_hwrev != RL_HWREV_8139CPLUS) > CSR_WRITE_2(sc, RL_MAXRXPKTLEN, 16383); > > - if (sc->rl_testmode) > + if (sc->rl_testmode) { > + splx(s); > return (0); > + } > > mii_mediachg(&sc->sc_mii);