On 3/28/2019 4:30 PM, Bartosz Golaszewski wrote:
From: Bartosz Golaszewski <[email protected]>

Calling read() for a single byte read will return 2 currently. Use
simple_read_from_buffer() which correctly handles all sizes.

Fixes: 2a9e27408e12 ("gpio: mockup: rework debugfs interface")
Signed-off-by: Bartosz Golaszewski <[email protected]>
---
  drivers/gpio/gpio-mockup.c | 7 +------
  1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index 74ba8b1d71d8..859585dce5c9 100644
--- a/drivers/gpio/gpio-mockup.c
+++ b/drivers/gpio/gpio-mockup.c
@@ -219,12 +219,7 @@ static ssize_t gpio_mockup_debugfs_read(struct file *file,
        val = gpio_mockup_get(gc, priv->offset);
        cnt = snprintf(buf, sizeof(buf), "%d\n", val);


why \n is inserted in the buf..

rv variable is unused now.

- rv = copy_to_user(usr_buf, buf, cnt);
-       if (rv)
-               return rv;
-
-       *ppos += cnt;
-       return cnt;
+       return simple_read_from_buffer(usr_buf, size, ppos, buf, cnt);



Looks good to me.
Remove the unused variable.

Reviewed-by: Mukesh Ojha <[email protected]>

-Mukesh

  }
static ssize_t gpio_mockup_debugfs_write(struct file *file,

Reply via email to