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

Commit 657da572 authored by Tobias Jordan's avatar Tobias Jordan Committed by Greg Kroah-Hartman
Browse files

dmaengine: jz4740: disable/unprepare clk if probe fails




[ Upstream commit eb9436966fdc84cebdf222952a99898ab46d9bb0 ]

in error path of jz4740_dma_probe(), call clk_disable_unprepare() to clean
up.

Found by Linux Driver Verification project (linuxtesting.org).

Fixes: 25ce6c35 MIPS: jz4740: Remove custom DMA API
Signed-off-by: default avatarTobias Jordan <Tobias.Jordan@elektrobit.com>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ffd7525e
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -575,7 +575,7 @@ static int jz4740_dma_probe(struct platform_device *pdev)

	ret = dma_async_device_register(dd);
	if (ret)
		return ret;
		goto err_clk;

	irq = platform_get_irq(pdev, 0);
	ret = request_irq(irq, jz4740_dma_irq, 0, dev_name(&pdev->dev), dmadev);
@@ -588,6 +588,8 @@ static int jz4740_dma_probe(struct platform_device *pdev)

err_unregister:
	dma_async_device_unregister(dd);
err_clk:
	clk_disable_unprepare(dmadev->clk);
	return ret;
}