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>
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
index 229c6b9..2e267ce 100644
--- a/drivers/spi/spi-s3c64xx.c
+++ b/drivers/spi/spi-s3c64xx.c
@@ -960,6 +960,8 @@
goto out;
}
+ flush_fifo(sdd);
+
if (xfer->delay_usecs)
udelay(xfer->delay_usecs);
@@ -972,8 +974,6 @@
}
msg->actual_length += xfer->len;
-
- flush_fifo(sdd);
}
out: