spi: core: Fix transfer failure when master->transfer_one returns positive value

master->transfer_one returns positive value is not a error.
So set ret to 0 when master->transfer_one returns positive value.
Otherwise, I hit "spi_master spi0: failed to transfer one message from queue"
error when my transfer_one callback returns 1.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Axel Lin 2014-01-18 22:05:22 +08:00 committed by Mark Brown
parent bd6857a0c6
commit 13a4279880
1 changed files with 3 additions and 1 deletions

View File

@ -599,8 +599,10 @@ static int spi_transfer_one_message(struct spi_master *master,
goto out;
}
if (ret > 0)
if (ret > 0) {
ret = 0;
wait_for_completion(&master->xfer_completion);
}
trace_spi_transfer_stop(msg, xfer);