aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/platforms/powernv/opal-msglog.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/opal-msglog.c b/arch/powerpc/platforms/powernv/opal-msglog.c
index 1bb25b952504..44ed78af1a0d 100644
--- a/arch/powerpc/platforms/powernv/opal-msglog.c
+++ b/arch/powerpc/platforms/powernv/opal-msglog.c
@@ -37,7 +37,8 @@ static ssize_t opal_msglog_read(struct file *file, struct kobject *kobj,
37{ 37{
38 struct memcons *mc = bin_attr->private; 38 struct memcons *mc = bin_attr->private;
39 const char *conbuf; 39 const char *conbuf;
40 size_t ret, first_read = 0; 40 ssize_t ret;
41 size_t first_read = 0;
41 uint32_t out_pos, avail; 42 uint32_t out_pos, avail;
42 43
43 if (!mc) 44 if (!mc)
@@ -69,6 +70,9 @@ static ssize_t opal_msglog_read(struct file *file, struct kobject *kobj,
69 to += first_read; 70 to += first_read;
70 count -= first_read; 71 count -= first_read;
71 pos -= avail; 72 pos -= avail;
73
74 if (count <= 0)
75 goto out;
72 } 76 }
73 77
74 /* Sanity check. The firmware should not do this to us. */ 78 /* Sanity check. The firmware should not do this to us. */