Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Jul 2003 09:50:55 -0400
From:      "Robin P. Blanchard" <Robin.Blanchard@gactr.uga.edu>
To:        "John Baldwin" <jhb@FreeBSD.org>, <current@freebsd.org>
Cc:        njl@FreeBSD.org
Subject:   RE: Witness panic (fxp/polling related)
Message-ID:  <EE3D3FBAFFCAED448C21C398FDAD91AC237494@EBE1.gc.nat>

next in thread | raw e-mail | index | archive | help

Success ! 

# diff -u if_fxp.c.orig if_fxp.c                                     
--- if_fxp.c.orig       Sat Jul  5 11:23:44 2003
+++ if_fxp.c    Fri Jul 11 09:35:54 2003
@@ -1550,8 +1550,8 @@
        if (ether_poll_register(fxp_poll, ifp)) {
                /* disable interrupts */
                CSR_WRITE_1(sc, FXP_CSR_SCB_INTRCNTL, FXP_SCB_INTR_DISABLE);
-               fxp_poll(ifp, 0, 1);
                FXP_UNLOCK(sc);
+               fxp_poll(ifp, 0, 1);
                return;
        }
 #endif




> -----Original Message-----
> From: John Baldwin [mailto:jhb@FreeBSD.org] 
> Sent: Friday, July 11, 2003 9:13 AM
> To: Robin P. Blanchard
> Cc: njl@FreeBSD.org
> Subject: Re: Witness panic (fxp/polling related)
> 
> 
> On Friday 11 July 2003 08:50 am, you wrote:
> > Alright...Added WITNESS_DDB to the kernel. Here's (hopefully) more 
> > useful info. Again, this is using sources dated yesterday morning.
> >
> > recursed on non-recursive lock (sleep mutex) fxp0 @ 
> > /usr/src/sys/dev/fxp/if_fxp. c:1502
> > first acquired @ /usr/src/sys/dev/fxp/if_fxp.c:1539
> 
> This is perfect.
> 
>         if (ether_poll_register(fxp_poll, ifp)) {
>                 /* disable interrupts */
>                 CSR_WRITE_1(sc, FXP_CSR_SCB_INTRCNTL, 
> FXP_SCB_INTR_DISABLE);
>                 fxp_poll(ifp, 0, 1);
>                 FXP_UNLOCK(sc);
>                 return;
> 
> Try moving the FXP_UNLOCK() up before the call to fxp_poll() 
> (it should be safe to do so).
> 
> -- 
> 
> John Baldwin <jhb@FreeBSD.org>  <><  
> http://www.FreeBSD.org/~jhb/ "Power Users Use > the Power to 
> Serve!"  -  http://www.FreeBSD.org/
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EE3D3FBAFFCAED448C21C398FDAD91AC237494>