diff options
-rw-r--r-- | drivers/serial/mfd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/serial/mfd.c b/drivers/serial/mfd.c index 5dff45c76d3..ad35130cd8a 100644 --- a/drivers/serial/mfd.c +++ b/drivers/serial/mfd.c | |||
@@ -172,6 +172,9 @@ static ssize_t port_show_regs(struct file *file, char __user *user_buf, | |||
172 | len += snprintf(buf + len, HSU_REGS_BUFSIZE - len, | 172 | len += snprintf(buf + len, HSU_REGS_BUFSIZE - len, |
173 | "DIV: \t\t0x%08x\n", serial_in(up, UART_DIV)); | 173 | "DIV: \t\t0x%08x\n", serial_in(up, UART_DIV)); |
174 | 174 | ||
175 | if (len > HSU_REGS_BUFSIZE) | ||
176 | len = HSU_REGS_BUFSIZE; | ||
177 | |||
175 | ret = simple_read_from_buffer(user_buf, count, ppos, buf, len); | 178 | ret = simple_read_from_buffer(user_buf, count, ppos, buf, len); |
176 | kfree(buf); | 179 | kfree(buf); |
177 | return ret; | 180 | return ret; |
@@ -219,6 +222,9 @@ static ssize_t dma_show_regs(struct file *file, char __user *user_buf, | |||
219 | len += snprintf(buf + len, HSU_REGS_BUFSIZE - len, | 222 | len += snprintf(buf + len, HSU_REGS_BUFSIZE - len, |
220 | "D0TSR: \t\t0x%08x\n", chan_readl(chan, HSU_CH_D3TSR)); | 223 | "D0TSR: \t\t0x%08x\n", chan_readl(chan, HSU_CH_D3TSR)); |
221 | 224 | ||
225 | if (len > HSU_REGS_BUFSIZE) | ||
226 | len = HSU_REGS_BUFSIZE; | ||
227 | |||
222 | ret = simple_read_from_buffer(user_buf, count, ppos, buf, len); | 228 | ret = simple_read_from_buffer(user_buf, count, ppos, buf, len); |
223 | kfree(buf); | 229 | kfree(buf); |
224 | return ret; | 230 | return ret; |