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