diff --git a/[refs] b/[refs] index 91280cbc0618..1632e003821c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3861a17bcc0af815f684c6178bc9ec2d790c350e +refs/heads/master: b5db03c4355e568f1567758287b30a6a262d5057 diff --git a/trunk/kernel/trace/trace.c b/trunk/kernel/trace/trace.c index 03fbd4c20bc2..93040f1bef13 100644 --- a/trunk/kernel/trace/trace.c +++ b/trunk/kernel/trace/trace.c @@ -559,6 +559,15 @@ void unregister_tracer(struct tracer *type) found: *t = (*t)->next; + + if (type == current_trace && tracer_enabled) { + tracer_enabled = 0; + tracing_stop(); + if (current_trace->stop) + current_trace->stop(&global_trace); + current_trace = &nop_trace; + } + if (strlen(type->name) != max_tracer_type_len) goto out;