diff options
author | 2018-09-05 10:49:39 +0200 | |
---|---|---|
committer | 2018-09-05 12:40:12 +0100 | |
commit | 8dbbaa47b96f6ea5f09f922b4effff3c505cd8cf (patch) | |
tree | 2e1c6b91960545173facbe9cf499fef71cc2f364 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | spi: rspi: Fix invalid SPI use during system suspend (diff) | |
download | linux-dev-8dbbaa47b96f6ea5f09f922b4effff3c505cd8cf.tar.xz linux-dev-8dbbaa47b96f6ea5f09f922b4effff3c505cd8cf.zip |
spi: rspi: Fix interrupted DMA transfers
When interrupted, wait_event_interruptible_timeout() returns
-ERESTARTSYS, and the SPI transfer in progress will fail, as expected:
m25p80 spi0.0: SPI transfer failed: -512
spi_master spi0: failed to transfer one message from queue
However, as the underlying DMA transfers may not have completed, all
subsequent SPI transfers may start to fail:
spi_master spi0: receive timeout
qspi_transfer_out_in() returned -110
m25p80 spi0.0: SPI transfer failed: -110
spi_master spi0: failed to transfer one message from queue
Fix this by calling dmaengine_terminate_all() not only for timeouts, but
also for errors.
This can be reproduced on r8a7991/koelsch, using "hd /dev/mtd0" followed
by CTRL-C.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions