aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/spi/spi-rspi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c
index 4a1f978c3381..92bec7e91046 100644
--- a/drivers/spi/spi-rspi.c
+++ b/drivers/spi/spi-rspi.c
@@ -859,7 +859,9 @@ static int qspi_transfer_one(struct spi_master *master, struct spi_device *spi,
859{ 859{
860 struct rspi_data *rspi = spi_master_get_devdata(master); 860 struct rspi_data *rspi = spi_master_get_devdata(master);
861 861
862 if (xfer->tx_buf && xfer->tx_nbits > SPI_NBITS_SINGLE) { 862 if (spi->mode & SPI_LOOP) {
863 return qspi_transfer_out_in(rspi, xfer);
864 } else if (xfer->tx_buf && xfer->tx_nbits > SPI_NBITS_SINGLE) {
863 /* Quad or Dual SPI Write */ 865 /* Quad or Dual SPI Write */
864 return qspi_transfer_out(rspi, xfer); 866 return qspi_transfer_out(rspi, xfer);
865 } else if (xfer->rx_buf && xfer->rx_nbits > SPI_NBITS_SINGLE) { 867 } else if (xfer->rx_buf && xfer->rx_nbits > SPI_NBITS_SINGLE) {