|
@@ -1991,8 +1991,11 @@ static int set_filter(struct perf_evsel *evsel, const void *arg)
|
|
|
int nr_addr_filters = 0;
|
|
|
struct perf_pmu *pmu = NULL;
|
|
|
|
|
|
- if (evsel == NULL)
|
|
|
- goto err;
|
|
|
+ if (evsel == NULL) {
|
|
|
+ fprintf(stderr,
|
|
|
+ "--filter option should follow a -e tracepoint or HW tracer option\n");
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
|
|
|
if (evsel->attr.type == PERF_TYPE_TRACEPOINT) {
|
|
|
if (perf_evsel__append_tp_filter(evsel, str) < 0) {
|
|
@@ -2014,8 +2017,11 @@ static int set_filter(struct perf_evsel *evsel, const void *arg)
|
|
|
perf_pmu__scan_file(pmu, "nr_addr_filters",
|
|
|
"%d", &nr_addr_filters);
|
|
|
|
|
|
- if (!nr_addr_filters)
|
|
|
- goto err;
|
|
|
+ if (!nr_addr_filters) {
|
|
|
+ fprintf(stderr,
|
|
|
+ "This CPU does not support address filtering\n");
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
|
|
|
if (perf_evsel__append_addr_filter(evsel, str) < 0) {
|
|
|
fprintf(stderr,
|
|
@@ -2024,12 +2030,6 @@ static int set_filter(struct perf_evsel *evsel, const void *arg)
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
-
|
|
|
-err:
|
|
|
- fprintf(stderr,
|
|
|
- "--filter option should follow a -e tracepoint or HW tracer option\n");
|
|
|
-
|
|
|
- return -1;
|
|
|
}
|
|
|
|
|
|
int parse_filter(const struct option *opt, const char *str,
|