diff --git a/tools/perf/util/arm-spe.c b/tools/perf/util/arm-spe.c index f62cd5a1b9e107650631670ea564ba271ed8d927..bd6d311625c47ad1737ad344fa582144b948cb29 100644 --- a/tools/perf/util/arm-spe.c +++ b/tools/perf/util/arm-spe.c @@ -1051,10 +1051,12 @@ static int arm_spe_flush(struct perf_session *session __maybe_unused, return arm_spe_process_timeless_queues(spe, -1, MAX_TIMESTAMP - 1); + ret = arm_spe_process_queues(spe, MAX_TIMESTAMP); + if (ret < 0) + return ret; + if (spe->sample_c2c_mode) ret = arm_spe_c2c_process(spe); - else - ret = arm_spe_process_queues(spe, MAX_TIMESTAMP); return ret; }