Messages in this thread | | | Date | Thu, 25 Jul 2013 10:32:08 +0200 | From | "Arend van Spriel" <> | Subject | Re: regression 3.11-rc1: rmmod hangs after tracing module |
| |
On 07/23/2013 08:44 PM, Steven Rostedt wrote: > On Tue, 2013-07-23 at 20:07 +0200, Arend van Spriel wrote: >> Hi Steven, >> >> During testing of our brcmfmac wireless driver I had a trace-cmd running >> along (trace-cmd record -e brcmfmac:*). After the test I stopped the >> trace, unplugged my usb device and did a rmmod resulting in the attached >> lockdep splat. Hope you have an idea what is going wrong here. > > Thanks for the report! > > Does this fix you bug?
Thanks Steve,
Tested your patch and it indeed fixes my deadlock.
Regards, Arend
> -- Steve > > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c > index 69cba47..882ec1d 100644 > --- a/kernel/trace/trace.c > +++ b/kernel/trace/trace.c > @@ -1224,18 +1224,17 @@ void tracing_reset_current(int cpu) > tracing_reset(&global_trace.trace_buffer, cpu); > } > > +/* Must have trace_types_lock held */ > void tracing_reset_all_online_cpus(void) > { > struct trace_array *tr; > > - mutex_lock(&trace_types_lock); > list_for_each_entry(tr, &ftrace_trace_arrays, list) { > tracing_reset_online_cpus(&tr->trace_buffer); > #ifdef CONFIG_TRACER_MAX_TRACE > tracing_reset_online_cpus(&tr->max_buffer); > #endif > } > - mutex_unlock(&trace_types_lock); > } > > #define SAVED_CMDLINES 128 > > >
| |