aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_selftest.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/trace_selftest.c')
-rw-r--r--kernel/trace/trace_selftest.c16
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: 473out:
479 trace->reset(tr);
480 tracing_start(); 474 tracing_start();
475out_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;