Date: Sat, 28 Jul 2012 13:04:27 -0700 From: Adrian Chadd <adrian@freebsd.org> To: Arnaud Lacombe <lacombar@gmail.com> Cc: Dimitry Andric <dim@freebsd.org>, current@freebsd.org Subject: Re: panic: _mtx_lock_sleep: recursed on non-recursive mutex em0 @ /usr/src/sys/dev/e1000/if_lem.c:881 Message-ID: <CAJ-VmomrNdDJKTp8DW5AyffkGEhWvCdu23Q17%2Bm-LnEL-Ujq1g@mail.gmail.com> In-Reply-To: <CACqU3MVLuf%2BH-ujVhTqod10uWTioeC0eLgM_fgVHUeH22o55Sg@mail.gmail.com> References: <20120726154610.GC1587@albert.catwhisker.org> <5012E233.3050007@FreeBSD.org> <CAJ-Vmo=Tgg-sYVB5b1RhP0adCYJLrp%2B4W4nvpN6M6giTnBjw7w@mail.gmail.com> <CACqU3MVLuf%2BH-ujVhTqod10uWTioeC0eLgM_fgVHUeH22o55Sg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 28 July 2012 12:09, Arnaud Lacombe <lacombar@gmail.com> wrote: > How would a single ATH_LOCK() helps here ? AFAICS, the panic seem to > be a classical fallout from direct dispatch where you can re-enter the > driver from the driver itself through the network stack. Take a look at iwn. It has a single lock - IWN_LOCK() - which it releases before punting the frame up the stack. Adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomrNdDJKTp8DW5AyffkGEhWvCdu23Q17%2Bm-LnEL-Ujq1g>