diff options
Diffstat (limited to 'tools/perf/util/session.c')
| -rw-r--r-- | tools/perf/util/session.c | 12 | 
1 files changed, 11 insertions, 1 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 64500fc7879..f5a8fbdd3f7 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -58,6 +58,16 @@ static int perf_session__open(struct perf_session *self, bool force)  		goto out_close;  	} +	if (!perf_evlist__valid_sample_type(self->evlist)) { +		pr_err("non matching sample_type"); +		goto out_close; +	} + +	if (!perf_evlist__valid_sample_id_all(self->evlist)) { +		pr_err("non matching sample_id_all"); +		goto out_close; +	} +  	self->size = input_stat.st_size;  	return 0; @@ -97,7 +107,7 @@ out:  void perf_session__update_sample_type(struct perf_session *self)  {  	self->sample_type = perf_evlist__sample_type(self->evlist); -	self->sample_size = perf_sample_size(self->sample_type); +	self->sample_size = __perf_evsel__sample_size(self->sample_type);  	self->sample_id_all = perf_evlist__sample_id_all(self->evlist);  	perf_session__id_header_size(self);  }  |