spi: loopback-test: write rx pattern also when running without tx_buf
authorMartin Sperl <kernel@martin.sperl.org>
Tue, 22 Dec 2015 18:03:21 +0000 (18:03 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 5 Jan 2016 19:05:23 +0000 (19:05 +0000)
Currently the rx_buf does not get set with the
SPI_TEST_PATTERN_UNWRITTEN when tx_buf == NULL in the transfer.

Reorder code so that it gets done also under this specific condition.

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-loopback-test.c

index 7f497acc906ce020916f768e9af5efac9d003987..8af2e4070153b76f6261980e4c1d1da039429b04 100644 (file)
@@ -591,6 +591,10 @@ static int spi_test_fill_tx(struct spi_device *spi, struct spi_test *test)
 
        /* fill all transfers with the pattern requested */
        for (i = 0; i < test->transfer_count; i++) {
+               /* fill rx_buf with SPI_TEST_PATTERN_UNWRITTEN */
+               if (xfers[i].rx_buf)
+                       memset(xfers[i].rx_buf, SPI_TEST_PATTERN_UNWRITTEN,
+                              xfers[i].len);
                /* if tx_buf is NULL then skip */
                tx_buf = (u8 *)xfers[i].tx_buf;
                if (!tx_buf)
@@ -648,10 +652,6 @@ static int spi_test_fill_tx(struct spi_device *spi, struct spi_test *test)
                                return -EINVAL;
                        }
                }
-               /* fill rx_buf with SPI_TEST_PATTERN_UNWRITTEN */
-               if (xfers[i].rx_buf)
-                       memset(xfers[i].rx_buf, SPI_TEST_PATTERN_UNWRITTEN,
-                              xfers[i].len);
        }
 
        return 0;