summary refs log tree commit diff
path: root/drivers/spi/spi-rspi.c
diff options
context:
space:
mode:
authorHiep Cao Minh <cm-hiep@jinso.co.jp>2015-04-30 11:12:12 +0900
committerMark Brown <broonie@kernel.org>2015-05-07 13:56:46 +0100
commit6310372dc34bae740db280d3354b2e470cd31284 (patch)
treecafb388302f34e5218ae07be6a5186ca4b2ac978 /drivers/spi/spi-rspi.c
parent8634dafac6f58c91ab2461a68e8d7ea18ec0486b (diff)
downloadlinux-6310372dc34bae740db280d3354b2e470cd31284.tar.gz
spi: rspi: Re-do the returning value of rspi_dma_check_then_transfer
To reduce indentation and complexity of code, insteeds of returning zero
the function rspi_dma_check_then_transfer should return rspi_dma_transfer
directly after checking error.

Signed-off-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi-rspi.c')
-rw-r--r--drivers/spi/spi-rspi.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c
index 70a7a7b168fd..568ea41625f5 100644
--- a/drivers/spi/spi-rspi.c
+++ b/drivers/spi/spi-rspi.c
@@ -665,15 +665,12 @@ static bool rspi_can_dma(struct spi_master *master, struct spi_device *spi,
 static int rspi_dma_check_then_transfer(struct rspi_data *rspi,
 					 struct spi_transfer *xfer)
 {
-	if (rspi->master->can_dma && __rspi_can_dma(rspi, xfer)) {
-		/* rx_buf can be NULL on RSPI on SH in TX-only Mode */
-		int ret = rspi_dma_transfer(rspi, &xfer->tx_sg,
-					xfer->rx_buf ? &xfer->rx_sg : NULL);
-		if (ret != -EAGAIN)
-			return 0;
-	}
+	if (!rspi->master->can_dma || !__rspi_can_dma(rspi, xfer))
+		return -EAGAIN;
 
-	return -EAGAIN;
+	/* rx_buf can be NULL on RSPI on SH in TX-only Mode */
+	return rspi_dma_transfer(rspi, &xfer->tx_sg,
+				xfer->rx_buf ? &xfer->rx_sg : NULL);
 }
 
 static int rspi_common_transfer(struct rspi_data *rspi,