Re: regression 3.11-rc1: rmmod hangs after tracing module

From: Steven Rostedt
Date: Tue Jul 23 2013 - 14:44:43 EST


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?

-- 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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/