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

From: Arend van Spriel
Date: Thu Jul 25 2013 - 04:32:36 EST


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





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