diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-12-16 13:53:23 +0300 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2019-12-26 07:34:18 +0300 |
commit | f882101122aa110ef8e64be04472e5a47030300e (patch) | |
tree | 0efa92d461b35e0146ff7436646cfd99662b83ff /drivers/dma/mv_xor.h | |
parent | df660a2b6dfcf26001af6cd2441268c29416dd64 (diff) | |
download | linux-f882101122aa110ef8e64be04472e5a47030300e.tar.xz |
dmaengine: virt-dma: Do not call desc_free() under a spin_lock
vchan_vdesc_fini() shouldn't be called under a spin_lock. This is done
in two places, once in vchan_terminate_vdesc() and once in
vchan_synchronize(). Instead of freeing the vdesc right away, collect
the aborted vdescs on a separate list and free them along with the other
vdescs. The terminated descs are also freed in vchan_synchronize as done
before this patch.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20191216105328.15198-5-s.hauer@pengutronix.de
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/mv_xor.h')
0 files changed, 0 insertions, 0 deletions