spi/s3c64xx: Flush FIFOs prior to cleaning up transfer

Ensure that the FIFOs are fully drained before we deassert /CS or do any
delays that have been requested in order to ensure that the behaviour
visible on the bus matches that which was requested by the caller.

Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
Mark Brown 2013-09-27 20:10:26 +01:00
parent 0cab71e701
commit 67651b29ef

View File

@ -960,6 +960,8 @@ static int s3c64xx_spi_transfer_one_message(struct spi_master *master,
goto out;
}
flush_fifo(sdd);
if (xfer->delay_usecs)
udelay(xfer->delay_usecs);
@ -972,8 +974,6 @@ static int s3c64xx_spi_transfer_one_message(struct spi_master *master,
}
msg->actual_length += xfer->len;
flush_fifo(sdd);
}
out: