tracing: Fix missing function_graph events when we splice_read from trace_pipe
[platform/adaptation/renesas_rcar/renesas_kernel.git] / kernel / trace / trace.c
index 8bc8d8a..da984ad 100644 (file)
@@ -3085,7 +3085,8 @@ tracing_fill_pipe_page(size_t rem, struct trace_iterator *iter)
                        break;
                }
 
-               trace_consume(iter);
+               if (ret != TRACE_TYPE_NO_CONSUME)
+                       trace_consume(iter);
                rem -= count;
                if (!find_next_entry_inc(iter)) {
                        rem = 0;
@@ -4233,8 +4234,11 @@ static void __ftrace_dump(bool disable_tracing)
                iter.pos = -1;
 
                if (find_next_entry_inc(&iter) != NULL) {
-                       print_trace_line(&iter);
-                       trace_consume(&iter);
+                       int ret;
+
+                       ret = print_trace_line(&iter);
+                       if (ret != TRACE_TYPE_NO_CONSUME)
+                               trace_consume(&iter);
                }
 
                trace_printk_seq(&iter.seq);