diff options
author | Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> | 2011-03-30 05:25:53 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2011-04-05 14:36:04 -0400 |
commit | cc446446ff48e82c157dc8c937a3490f2a2ce535 (patch) | |
tree | 7c7d230dfafd23a924eba78516eeaff088a5ddf7 /tools/perf/util | |
parent | f0c4801a17cb1a762bed39a6a9d5e5be33d8a340 (diff) |
perf probe: Fix multiple --vars options behavior
Fix a bug that perf-probe fails to initialize libdwfl and shows incorrect error
when user gives multiple --vars options.
Cc: 2nddept-manager@sdl.hitachi.co.jp
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Lin Ming <ming.m.lin@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <20110330092553.2132.42691.stgit@ltc236.sdl.hitachi.co.jp>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util')
-rw-r--r-- | tools/perf/util/probe-event.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index a372d748644b..f0223166e761 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c | |||
@@ -510,18 +510,18 @@ int show_available_vars(struct perf_probe_event *pevs, int npevs, | |||
510 | if (ret < 0) | 510 | if (ret < 0) |
511 | return ret; | 511 | return ret; |
512 | 512 | ||
513 | fd = open_vmlinux(module); | ||
514 | if (fd < 0) { | ||
515 | pr_warning("Failed to open debug information file.\n"); | ||
516 | return fd; | ||
517 | } | ||
518 | |||
519 | setup_pager(); | 513 | setup_pager(); |
520 | 514 | ||
521 | for (i = 0; i < npevs && ret >= 0; i++) | 515 | for (i = 0; i < npevs && ret >= 0; i++) { |
516 | fd = open_vmlinux(module); | ||
517 | if (fd < 0) { | ||
518 | pr_warning("Failed to open debug information file.\n"); | ||
519 | ret = fd; | ||
520 | break; | ||
521 | } | ||
522 | ret = show_available_vars_at(fd, &pevs[i], max_vls, _filter, | 522 | ret = show_available_vars_at(fd, &pevs[i], max_vls, _filter, |
523 | externs); | 523 | externs); |
524 | 524 | } | |
525 | return ret; | 525 | return ret; |
526 | } | 526 | } |
527 | 527 | ||