diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2015-02-27 16:34:15 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-03-06 20:41:56 +0100 |
commit | b716c4ffc6a2b0bfbcf9619880f335be11b65708 (patch) | |
tree | e9fce46a5b9a33fcfc9593763b78f6bc46c787ea /drivers/spi/spi.c | |
parent | Linux 4.0-rc1 (diff) | |
download | linux-b716c4ffc6a2b0bfbcf9619880f335be11b65708.tar.xz linux-b716c4ffc6a2b0bfbcf9619880f335be11b65708.zip |
spi: introduce master->handle_err() callback
This callback would be useful to handle an error that occurs in the generic
implementation of transfer_one_message(). The good candidate for this is to
drain FIFO and / or to terminate DMA transfers when timeout happened.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi.c')
-rw-r--r-- | drivers/spi/spi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index c64a3e59fce3..31d4d9d997e2 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -851,6 +851,9 @@ out: if (msg->status == -EINPROGRESS) msg->status = ret; + if (msg->status) + master->handle_err(master, msg); + spi_finalize_current_message(master); return ret; |