diff options
| -rw-r--r-- | kernel/trace/trace_irqsoff.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c index 421d6fe3650..b1e4a89b08e 100644 --- a/kernel/trace/trace_irqsoff.c +++ b/kernel/trace/trace_irqsoff.c @@ -337,12 +337,14 @@ EXPORT_SYMBOL(trace_hardirqs_off_caller);  #ifdef CONFIG_PREEMPT_TRACER  void trace_preempt_on(unsigned long a0, unsigned long a1)  { -	stop_critical_timing(a0, a1); +	if (preempt_trace()) +		stop_critical_timing(a0, a1);  }  void trace_preempt_off(unsigned long a0, unsigned long a1)  { -	start_critical_timing(a0, a1); +	if (preempt_trace()) +		start_critical_timing(a0, a1);  }  #endif /* CONFIG_PREEMPT_TRACER */  |