perf intel-pt: Clear FUP flag on error
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 26 May 2017 08:17:09 +0000 (11:17 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jul 2017 22:07:58 +0000 (15:07 -0700)
commit 6a558f12dbe85437acbdec5e149ea07b5554eced upstream.

Sometimes a FUP packet is associated with a TSX transaction and a flag is
set to indicate that. Ensure that flag is cleared on any error condition
because at that point the decoder can no longer assume it is correct.

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

index 499e5af..7e27207 100644 (file)
@@ -1960,6 +1960,8 @@ static int intel_pt_sync_ip(struct intel_pt_decoder *decoder)
 {
        int err;
 
+       decoder->set_fup_tx_flags = false;
+
        intel_pt_log("Scanning for full IP\n");
        err = intel_pt_walk_to_ip(decoder);
        if (err)