spi: loopback-test: spi_check_rx_ranges can get always done

The spi_check_rx_ranges can always get executed independent of
if we have a real loopback situation.

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Martin Sperl 2015-12-22 18:03:25 +00:00 committed by Mark Brown
parent 339ec3ce54
commit 1e8db97f0e

View File

@ -489,7 +489,18 @@ static int spi_test_check_loopback_result(struct spi_device *spi,
struct spi_transfer *xfer;
u8 rxb, txb;
size_t i;
int ret;
/* checks rx_buffer pattern are valid with loopback or without */
ret = spi_check_rx_ranges(spi, msg, rx);
if (ret)
return ret;
/* if we run without loopback, then return now */
if (!loopback)
return 0;
/* if applicable to transfer check that rx_buf is equal to tx_buf */
list_for_each_entry(xfer, &msg->transfers, transfer_list) {
/* if there is no rx, then no check is needed */
if (!xfer->rx_buf)
@ -521,7 +532,7 @@ static int spi_test_check_loopback_result(struct spi_device *spi,
}
}
return spi_check_rx_ranges(spi, msg, rx);
return 0;
mismatch_error:
dev_err(&spi->dev,
@ -847,10 +858,8 @@ int spi_test_execute_msg(struct spi_device *spi, struct spi_test *test,
goto exit;
}
/* run rx-tests when in loopback mode */
if (loopback)
ret = spi_test_check_loopback_result(spi, msg,
tx, rx);
/* run rx-buffer tests */
ret = spi_test_check_loopback_result(spi, msg, tx, rx);
}
/* if requested or on error dump message (including data) */