Subject: [PATCH 04/27] perf cs-etm: Bail out immediately for instruction sample failure

From: [email-masked] (Arnaldo Carvalho de Melo)
Date: Wed, 25 Jul 2018 14:59:38 -0300

From: Leo Yan <[email-masked]>

If the instruction sample failure has happened, it isn't necessary to
execute to the end of the function cs_etm__flush().  This commit is to
bail out immediately and return the error code.

Signed-off-by: Leo Yan <[email-masked]>
Reviewed-by: Mathieu Poirier <[email-masked]>
Cc: Alexander Shishkin <[email-masked]>
Cc: Jiri Olsa <[email-masked]>
Cc: Kim Phillips <[email-masked]>
Cc: Mike Leach <[email-masked]>
Cc: Namhyung Kim <[email-masked]>
Cc: Peter Zijlstra <[email-masked]>
Cc: Robert Walker <[email-masked]>
Cc: linux-arm-kernel at lists.infradead.org
Link: http://lkml.kernel.org/r/1529298599-3876-3-git-send-email-leo.yan at linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <[email-masked]>
---
 tools/perf/util/cs-etm.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c
index 822ba915d144..8b2c099e750a 100644
--- a/tools/perf/util/cs-etm.c
+++ b/tools/perf/util/cs-etm.c
@@ -939,6 +939,9 @@ static int cs_etm__flush(struct cs_etm_queue *etmq)
 		err = cs_etm__synth_instruction_sample(
 			etmq, addr,
 			etmq->period_instructions);
+		if (err)
+			return err;
+
 		etmq->period_instructions = 0;
 
 		/*
-- 
2.14.4