ARM64: dts: rk3368: add vop display node
[firefly-linux-kernel-4.4.55.git] / kernel / trace / trace_irqsoff.c
index e4e56589ec1d392c1734ddff45e87b6fc2dde2fb..be3222b7d72ee5cdf280092035f56eb2403b23ce 100644 (file)
@@ -109,8 +109,12 @@ static int func_prolog_dec(struct trace_array *tr,
                return 0;
 
        local_save_flags(*flags);
-       /* slight chance to get a false positive on tracing_cpu */
-       if (!irqs_disabled_flags(*flags))
+       /*
+        * Slight chance to get a false positive on tracing_cpu,
+        * although I'm starting to think there isn't a chance.
+        * Leave this for now just to be paranoid.
+        */
+       if (!irqs_disabled_flags(*flags) && !preempt_count())
                return 0;
 
        *data = per_cpu_ptr(tr->trace_buffer.data, cpu);