diff options
-rw-r--r-- | arch/powerpc/platforms/powernv/opal-msglog.c | 6 |
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. */ |