dmaengine: omap-dma: fix dma_pool resource leak in error paths

The dma_pool created by dma_pool_create() is not destroyed when
dma_async_device_register() or of_dma_controller_register() fails,
causing a resource leak in the probe error paths.

Add dma_pool_destroy() in both error paths to properly release the
allocated dma_pool resource.

Fixes: 7bedaa553760 ("dmaengine: add OMAP DMA engine driver")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Link: https://patch.msgid.link/20251103073018.643-1-vulab@iscas.ac.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by Haotian Zhang and committed by Vinod Koul 2e1136ac 3f747004

+4
+4
drivers/dma/ti/omap-dma.c
··· 1808 1808 if (rc) { 1809 1809 pr_warn("OMAP-DMA: failed to register slave DMA engine device: %d\n", 1810 1810 rc); 1811 + if (od->ll123_supported) 1812 + dma_pool_destroy(od->desc_pool); 1811 1813 omap_dma_free(od); 1812 1814 return rc; 1813 1815 } ··· 1825 1823 if (rc) { 1826 1824 pr_warn("OMAP-DMA: failed to register DMA controller\n"); 1827 1825 dma_async_device_unregister(&od->ddev); 1826 + if (od->ll123_supported) 1827 + dma_pool_destroy(od->desc_pool); 1828 1828 omap_dma_free(od); 1829 1829 } 1830 1830 }