On Monday 03 May 2010 3:55:38 pm Pyun YongHyeon wrote: > On Mon, May 03, 2010 at 07:01:56AM -0700, Mark Atkinson wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > I updated to current yesterday and got the following 'witness_warn' > > panic upon executing 'reboot': > > > > suspending ithread with the following locks held: > > exclusive sleep mutex mskc0 (network driver) r = 0 (0xc32c3690) locked _at_ > > /usr/src/sys/dev/msk/if_msk.c:3589 > > panic: witness_warn > > cpuid = 0 > > KDB: enter: panic > > Physical memory: 495 MB > > Dumping 80 MB: 65 49 33 17 1 > > > > > > 3579 static void > > 3580 msk_intr(void *xsc) > > 3581 { > > 3582 struct msk_softc *sc; > > 3583 struct msk_if_softc *sc_if0, *sc_if1; > > 3584 struct ifnet *ifp0, *ifp1; > > 3585 uint32_t status; > > 3586 int domore; > > 3587 > > 3588 sc = xsc; > > 3589 MSK_LOCK(sc); > > It seems msk(4) didn't honor IFF_DRV_RUNNING in status block update > check so it continued to process received packets. > Would you try attached patch? Actually, this panic looks like a leaked lock. I think this might fix it: Index: if_msk.c =================================================================== --- if_msk.c (revision 207329) +++ if_msk.c (working copy) _at__at_ -3580,6 +3580,7 _at__at_ (sc->msk_pflags & MSK_FLAG_SUSPEND) != 0 || (status & sc->msk_intrmask) == 0) { CSR_WRITE_4(sc, B0_Y2_SP_ICR, 2); + MSK_UNLOCK(sc); return; } -- John BaldwinReceived on Tue May 04 2010 - 12:08:06 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:03 UTC