aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/util/session.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 9401909fa283..00ab298bbb4b 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -696,15 +696,18 @@ more:
696 p = &event; 696 p = &event;
697 p += sizeof(struct perf_event_header); 697 p += sizeof(struct perf_event_header);
698 698
699 err = do_read(self->fd, p, size - sizeof(struct perf_event_header)); 699 if (size - sizeof(struct perf_event_header)) {
700 if (err <= 0) { 700 err = do_read(self->fd, p,
701 if (err == 0) { 701 size - sizeof(struct perf_event_header));
702 pr_err("unexpected end of event stream\n"); 702 if (err <= 0) {
703 goto done; 703 if (err == 0) {
704 } 704 pr_err("unexpected end of event stream\n");
705 goto done;
706 }
705 707
706 pr_err("failed to read event data\n"); 708 pr_err("failed to read event data\n");
707 goto out_err; 709 goto out_err;
710 }
708 } 711 }
709 712
710 if (size == 0 || 713 if (size == 0 ||