Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c97381e authored by Aditya Pakki's avatar Aditya Pakki Committed by Vinod Koul
Browse files

dmaengine: mv_xor: Fix a missing check in mv_xor_channel_add



dma_async_device_register() may fail and return an error. The capabilities
checked in mv_xor_channel_add() are not complete. The fix handles the
error by freeing the resources.

Signed-off-by: default avatarAditya Pakki <pakki001@umn.edu>
Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent bfeffd15
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1153,7 +1153,10 @@ mv_xor_channel_add(struct mv_xor_device *xordev,
		 dma_has_cap(DMA_MEMCPY, dma_dev->cap_mask) ? "cpy " : "",
		 dma_has_cap(DMA_INTERRUPT, dma_dev->cap_mask) ? "intr " : "");

	dma_async_device_register(dma_dev);
	ret = dma_async_device_register(dma_dev);
	if (ret)
		goto err_free_irq;

	return mv_chan;

err_free_irq: