diff options
Diffstat (limited to 'kernel/trace/trace_selftest.c')
-rw-r--r-- | kernel/trace/trace_selftest.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c index f907a2b29028..a2ca6f0fef9b 100644 --- a/kernel/trace/trace_selftest.c +++ b/kernel/trace/trace_selftest.c | |||
@@ -414,7 +414,7 @@ trace_selftest_startup_preemptirqsoff(struct tracer *trace, struct trace_array * | |||
414 | ret = tracer_init(trace, tr); | 414 | ret = tracer_init(trace, tr); |
415 | if (ret) { | 415 | if (ret) { |
416 | warn_failed_init_tracer(trace, ret); | 416 | warn_failed_init_tracer(trace, ret); |
417 | goto out; | 417 | goto out_no_start; |
418 | } | 418 | } |
419 | 419 | ||
420 | /* reset the max latency */ | 420 | /* reset the max latency */ |
@@ -432,21 +432,16 @@ trace_selftest_startup_preemptirqsoff(struct tracer *trace, struct trace_array * | |||
432 | tracing_stop(); | 432 | tracing_stop(); |
433 | /* check both trace buffers */ | 433 | /* check both trace buffers */ |
434 | ret = trace_test_buffer(tr, NULL); | 434 | ret = trace_test_buffer(tr, NULL); |
435 | if (ret) { | 435 | if (ret) |
436 | tracing_start(); | ||
437 | goto out; | 436 | goto out; |
438 | } | ||
439 | 437 | ||
440 | ret = trace_test_buffer(&max_tr, &count); | 438 | ret = trace_test_buffer(&max_tr, &count); |
441 | if (ret) { | 439 | if (ret) |
442 | tracing_start(); | ||
443 | goto out; | 440 | goto out; |
444 | } | ||
445 | 441 | ||
446 | if (!ret && !count) { | 442 | if (!ret && !count) { |
447 | printk(KERN_CONT ".. no entries found .."); | 443 | printk(KERN_CONT ".. no entries found .."); |
448 | ret = -1; | 444 | ret = -1; |
449 | tracing_start(); | ||
450 | goto out; | 445 | goto out; |
451 | } | 446 | } |
452 | 447 | ||
@@ -475,9 +470,10 @@ trace_selftest_startup_preemptirqsoff(struct tracer *trace, struct trace_array * | |||
475 | goto out; | 470 | goto out; |
476 | } | 471 | } |
477 | 472 | ||
478 | out: | 473 | out: |
479 | trace->reset(tr); | ||
480 | tracing_start(); | 474 | tracing_start(); |
475 | out_no_start: | ||
476 | trace->reset(tr); | ||
481 | tracing_max_latency = save_max; | 477 | tracing_max_latency = save_max; |
482 | 478 | ||
483 | return ret; | 479 | return ret; |