From a77ed3df6ebe23dd6b0e0433575a8416c1d6794d Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Thu, 12 Aug 2010 09:50:09 +0200 Subject: [PATCH] --- yaml --- r: 213481 b: refs/heads/master c: a95898114059e1038f3f7ee9bd2e43aefa62709a h: refs/heads/master i: 213479: d8b6ce79467fdda4b3f77afbc21a27ba33b0e742 v: v3 --- [refs] | 2 +- trunk/drivers/serial/mfd.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d3f3d8f1ac52..caea11cbdac9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: de838a93cbf35671f890360b886a5c2a8a5d1aa4 +refs/heads/master: a95898114059e1038f3f7ee9bd2e43aefa62709a diff --git a/trunk/drivers/serial/mfd.c b/trunk/drivers/serial/mfd.c index 5dff45c76d32..ad35130cd8a0 100644 --- a/trunk/drivers/serial/mfd.c +++ b/trunk/drivers/serial/mfd.c @@ -172,6 +172,9 @@ static ssize_t port_show_regs(struct file *file, char __user *user_buf, len += snprintf(buf + len, HSU_REGS_BUFSIZE - len, "DIV: \t\t0x%08x\n", serial_in(up, UART_DIV)); + if (len > HSU_REGS_BUFSIZE) + len = HSU_REGS_BUFSIZE; + ret = simple_read_from_buffer(user_buf, count, ppos, buf, len); kfree(buf); return ret; @@ -219,6 +222,9 @@ static ssize_t dma_show_regs(struct file *file, char __user *user_buf, len += snprintf(buf + len, HSU_REGS_BUFSIZE - len, "D0TSR: \t\t0x%08x\n", chan_readl(chan, HSU_CH_D3TSR)); + if (len > HSU_REGS_BUFSIZE) + len = HSU_REGS_BUFSIZE; + ret = simple_read_from_buffer(user_buf, count, ppos, buf, len); kfree(buf); return ret;