svn commit: r238765 - head/sys/dev/e1000

John Baldwin jhb at freebsd.org
Tue Jul 31 16:13:58 UTC 2012


On Tuesday, July 31, 2012 11:16:07 am Garrett Cooper wrote:
> On Tue, Jul 31, 2012 at 8:13 AM, Andrey Zonov <andrey at zonov.org> wrote:
> > On 7/28/12 2:09 AM, Adrian Chadd wrote:
> >>
> >> Hi,
> >>
> >> Can you please revert this commit for now?
> >>
> >> * it has some netmap stuff in it that isn't related to the commit;
> >> * it's causing panics due to lock recursion;
> >
> >
> > I can confirm panics with the latest HEAD running under ESX.
> >
> > _mtx_lock_sleep: recursed on non-recursive mutex em0 @
> > /usr/src/sys/dev/e1000/if_lem.c:881
> >
> > Tracing pid 12 tid 100030 td 0xfffffe0002960480
> > kdb_enter() at kdb_enter+0x3b
> > panic() at panic+0x1d1
> > _mtx_lock_sleep() at _mtx_lock_sleep+0x35f
> > _mtx_lock_flags() at _mtx_lock_flags+0x111
> > lem_start() at lem_start+0x34
> > if_transmit() at if_transmit+0xd6
> > ether_output_frame() at ether_output_frame+0x45
> > ether_output() at ether_output+0x548
> > arpintr() at arpintr+0x10c1
> > netisr_dispatch_src() at netisr_dispatch_src+0x152
> > ether_demux() at ether_demux+0x18d
> > ether_nh_input() at ether_nh_input+0x290
> > netisr_dispatch_src() at netisr_dispatch_src+0x152
> > lem_intr() at lem_intr+0x3ba
> > intr_event_execute_handlers() at intr_event_execute_handlers+0x6a
> > ithread_loop() at ithread_loop+0xab
> > fork_exit() at fork_exit+0x135
> > fork_trampoline() at fork_trampoline+0xe
> > --- trap 0, rip = 0, rsp = 0xffffff8000301cb0, rbp = 0 ---
> 
>     http://lists.freebsd.org/pipermail/freebsd-current/2012-July/035593.html

I'd prefer you not add the 'locked' variable, but instead have the normal code 
path just return before the 'out' label.

-- 
John Baldwin


More information about the svn-src-head mailing list