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);

Reply via email to