Date: Tue, 10 Nov 2009 22:17:44 +0000 (GMT) From: Gavin Atkinson <gavin@freebsd.org> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-net@freebsd.org, freebsd-current@freebsd.org Subject: Re: [PATCH] Remove if_watchdog use Message-ID: <20091110221339.Y61601@ury.york.ac.uk> In-Reply-To: <200911101702.57525.jhb@freebsd.org> References: <200911061508.22482.jhb@freebsd.org> <20091110194048.D61601@ury.york.ac.uk> <200911101702.57525.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 10 Nov 2009, John Baldwin wrote: > On Tuesday 10 November 2009 4:45:03 pm Gavin Atkinson wrote: >> I managed to get a panic when running wpa_supplicant: >> >> System call ioctl returning with the following locks held: >> exclusive sleep mutex an0 (network driver) r=0 (0xc58fc180) locked @ >> /usr/src/sys/dev/an/if_an.c:2341 >> panic: witness_warn >> >> This seems to fix that: >> >> --- /usr/src/sys/dev/an/if_an.c.orig 2009-11-10 19:26:21.000000000 >> +0000 >> +++ /usr/src/sys/dev/an/if_an.c 2009-11-10 19:27:24.000000000 +0000 >> @@ -2570,6 +2570,9 @@ >> an_setdef(sc, &sc->areq); >> AN_UNLOCK(sc); >> break; >> + default: >> + AN_UNLOCK(sc); >> + break; >> } >> >> /* > > Ok, thanks. Sadly the ioctl handling probably needs a bit more work since it > calls copyin() while holding the an(4) mutex, but I will leave that for > another day. It actually appears that the above panic is not something that has been introduced with your patch - I can reproduce it on a vanilla system. The above patch fixes it in the original code too. Gavin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091110221339.Y61601>