perf intel-pt: Move decoder error setting into one condition
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 26 May 2017 08:17:02 +0000 (11:17 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 21 Jun 2017 14:35:43 +0000 (11:35 -0300)
Move decoder error setting into one condition.

Cc'ed to stable because later fixes depend on it.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1495786658-18063-2-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c

index 7cf7f7a..5a9676c 100644 (file)
@@ -2130,15 +2130,18 @@ const struct intel_pt_state *intel_pt_decode(struct intel_pt_decoder *decoder)
                }
        } while (err == -ENOLINK);
 
-       decoder->state.err = err ? intel_pt_ext_err(err) : 0;
+       if (err) {
+               decoder->state.err = intel_pt_ext_err(err);
+               decoder->state.from_ip = decoder->ip;
+       } else {
+               decoder->state.err = 0;
+       }
+
        decoder->state.timestamp = decoder->timestamp;
        decoder->state.est_timestamp = intel_pt_est_timestamp(decoder);
        decoder->state.cr3 = decoder->cr3;
        decoder->state.tot_insn_cnt = decoder->tot_insn_cnt;
 
-       if (err)
-               decoder->state.from_ip = decoder->ip;
-
        return &decoder->state;
 }