From: Laurentiu-Cristian Duca <laurentiu.d...@gmail.com>

spi-master.c: spi_master_read_rt(): when master->ops->read()
completes successfully it returns > 0, so, in this case,
copy data to userspace.

Signed-off-by: Laurentiu-Cristian Duca <laurentiu.d...@gmail.com>
---
 kernel/drivers/spi/spi-master.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/drivers/spi/spi-master.c b/kernel/drivers/spi/spi-master.c
index 12a1ad1f1..e04f7ca10 100644
--- a/kernel/drivers/spi/spi-master.c
+++ b/kernel/drivers/spi/spi-master.c
@@ -240,8 +240,8 @@ static ssize_t spi_master_read_rt(struct rtdm_fd *fd,
                do_chip_deselect(slave);
        }
        rtdm_mutex_unlock(&master->bus_lock);
-       if (ret == 0)
-               ret = rtdm_safe_copy_to_user(fd, u_buf, rx, len);
+       if (ret > 0)
+               ret = rtdm_safe_copy_to_user(fd, u_buf, rx, ret);
        
        xnfree(rx);
        
-- 
2.17.1

Reply via email to