Message ID | 20180416154021.25626-4-s.nawrocki@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Sylwester, On 17.04.2018 00:40, Sylwester Nawrocki wrote: > Currently timeout errors in polling I/O mode transfer are silently > ignored. > Fix it by returning an error when we time out waiting on the RX FIFO > level > to reach the transfer length. yes, makes sense. > Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Reviewed-by: Andi Shyti <andi@etezian.org> Thanks, Andi
On Mon, Apr 16, 2018 at 5:40 PM, Sylwester Nawrocki <s.nawrocki@samsung.com> wrote: > Currently timeout errors in polling I/O mode transfer are silently ignored. > Fix it by returning an error when we time out waiting on the RX FIFO level > to reach the transfer length. > > Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> > --- > drivers/spi/spi-s3c64xx.c | 2 ++ > 1 file changed, 2 insertions(+) > Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Best regards, Krzysztof
On Mon, Apr 16, 2018 at 05:40:19PM +0200, Sylwester Nawrocki wrote: > Currently timeout errors in polling I/O mode transfer are silently ignored. > Fix it by returning an error when we time out waiting on the RX FIFO level > to reach the transfer length. This would probably have been better sent as a fix before the cosmetic updates.
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index e90e60bc1ecc..d87fa7d9fad3 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -502,6 +502,8 @@ static int wait_for_pio(struct s3c64xx_spi_driver_data *sdd, status = readl(regs + S3C64XX_SPI_STATUS); } while (RX_FIFO_LVL(status, sdd) < xfer->len && --val); + if (!val) + return -EIO; /* If it was only Tx */ if (!xfer->rx_buf) {
Currently timeout errors in polling I/O mode transfer are silently ignored. Fix it by returning an error when we time out waiting on the RX FIFO level to reach the transfer length. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> --- drivers/spi/spi-s3c64xx.c | 2 ++ 1 file changed, 2 insertions(+)