[PATCH 2/2] spi: uniphier: fix zero-length transfer
From: Keiji Hayashibara
Date: Tue Jun 25 2019 - 20:42:01 EST
The zero-length transfer results in timeout error because
the transfer doesn't start.
This commit modified to return success in this case.
Signed-off-by: Keiji Hayashibara <hayashibara.keiji@xxxxxxxxxxxxx>
---
drivers/spi/spi-uniphier.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/spi/spi-uniphier.c b/drivers/spi/spi-uniphier.c
index c3c35c0..b32c77d 100644
--- a/drivers/spi/spi-uniphier.c
+++ b/drivers/spi/spi-uniphier.c
@@ -331,6 +331,10 @@ static int uniphier_spi_transfer_one(struct spi_master *master,
struct device *dev = master->dev.parent;
unsigned long time_left;
+ /* Terminate and return success for 0 byte length transfer */
+ if (!t->len)
+ return 0;
+
uniphier_spi_setup_transfer(spi, t);
reinit_completion(&priv->xfer_done);
--
2.7.4