Geert Uytterhoeven
3819bc8752
spi: rspi: Fix leaking of unused DMA descriptors
...
If dmaengine_prep_slave_sg() or dmaengine_submit() fail, we may leak
unused DMA descriptors.
As per Documentation/dmaengine.txt, once a DMA descriptor has been
obtained, it must be submitted. Hence:
- First prepare and submit all DMA descriptors,
- Prepare the SPI controller for DMA,
- Start DMA by calling dma_async_issue_pending(),
- Make sure to call dmaengine_terminate_all() on all descriptors that
haven't completed.
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-08-16 17:13:53 -05:00
..
2014-08-04 17:21:16 +01:00
2014-07-04 19:32:29 +01:00
2014-06-21 11:14:02 +01:00
2014-03-30 00:51:17 +00:00
2014-04-14 17:20:15 +01:00
2014-08-01 18:22:42 +01:00
2014-08-07 08:47:00 -07:00
2014-04-14 17:20:15 +01:00
2014-04-14 17:20:15 +01:00
2014-02-16 09:51:02 +08:00
2014-04-14 20:44:15 +01:00
2014-02-03 12:20:35 +00:00
2014-01-13 11:24:21 +00:00
2014-03-30 00:51:17 +00:00
2014-03-29 11:09:26 +00:00
2014-08-04 17:21:04 +01:00
2014-06-06 11:14:29 +01:00
2014-03-30 00:51:03 +00:00
2014-08-01 19:20:52 +01:00
2013-11-14 11:04:38 -08:00
2014-07-03 19:44:04 +01:00
2014-01-23 13:07:09 +00:00
2014-05-12 22:04:18 +01:00
2014-04-24 18:09:05 +01:00
2014-07-11 13:39:36 +01:00
2014-02-14 20:24:53 +00:00
2014-06-06 11:14:29 +01:00
2013-11-12 16:52:17 +09:00
2013-04-07 10:07:54 +01:00
2014-05-07 20:53:04 +01:00
2014-06-02 17:08:38 +01:00
2014-07-02 20:50:17 +01:00
2014-04-14 17:18:55 +01:00
2014-06-06 12:37:41 +01:00
2013-04-07 10:07:56 +01:00
2014-05-07 20:53:04 +01:00
2014-03-30 00:51:17 +00:00
2013-10-07 14:50:43 +01:00
2014-04-10 23:39:52 +01:00
2014-04-10 23:39:52 +01:00
2014-04-10 23:39:52 +01:00
2014-03-30 00:51:17 +00:00
2014-04-14 17:20:15 +01:00
2014-03-30 00:51:17 +00:00
2014-03-30 00:51:17 +00:00
2014-07-03 19:49:05 +01:00
2014-06-06 11:14:29 +01:00
2014-06-24 16:25:48 +01:00
2014-08-04 17:21:12 +01:00
2014-08-01 18:24:37 +01:00
2014-02-03 12:20:35 +00:00
2014-06-06 10:52:46 +01:00
2014-04-18 18:06:07 +01:00
2014-02-03 12:20:35 +00:00
2014-06-17 15:45:52 +01:00
2013-02-08 13:14:40 +00:00
2014-08-04 17:21:12 +01:00
2014-07-25 18:25:59 +01:00
2014-08-16 17:13:53 -05:00
2011-06-06 01:16:30 -06:00
2011-06-06 01:16:30 -06:00
2014-06-02 17:08:43 +01:00
2014-08-08 11:00:26 -07:00
2014-03-13 09:47:05 +00:00
2014-06-06 12:37:41 +01:00
2014-07-16 23:19:34 +01:00
2014-06-17 15:47:31 +01:00
2014-07-07 12:50:52 +02:00
2014-05-20 23:24:20 +01:00
2014-04-14 17:20:15 +01:00
2014-04-14 17:20:15 +01:00
2014-05-07 20:53:05 +01:00
2014-05-07 20:53:05 +01:00
2014-05-07 20:53:05 +01:00
2014-03-30 00:51:41 +00:00
2014-04-29 12:01:42 -07:00
2014-07-31 00:03:42 +01:00
2014-04-10 23:39:52 +01:00
2014-03-30 00:51:41 +00:00
2014-07-10 12:38:45 +02:00
2014-03-13 09:12:44 +00:00
2014-08-05 16:18:13 -07:00
2014-02-27 13:51:29 +09:00