From 979ca1ca1f2c87386deffbeb01767bb40448b4a1 Mon Sep 17 00:00:00 2001 From: Yang Yingliang Date: Tue, 8 Aug 2023 20:38:27 +0800 Subject: uio: pruss: fix missing iounmap() in pruss_probe() platform_get_irq() is called after ioremap(), if it fails, iounmap() needs be called in error the path. Fixes: 2fd84b9b839c ("uio: pruss: fix to check return value of platform_get_irq() in pruss_probe()") Signed-off-by: Yang Yingliang Link: https://lore.kernel.org/r/20230808123827.560603-1-yangyingliang@huawei.com Signed-off-by: Greg Kroah-Hartman --- drivers/uio/uio_pruss.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/uio') diff --git a/drivers/uio/uio_pruss.c b/drivers/uio/uio_pruss.c index 122c38e2fbbd..77e2dc404885 100644 --- a/drivers/uio/uio_pruss.c +++ b/drivers/uio/uio_pruss.c @@ -177,7 +177,7 @@ static int pruss_probe(struct platform_device *pdev) ret = platform_get_irq(pdev, 0); if (ret < 0) - goto err_free_ddr_vaddr; + goto err_unmap; gdev->hostirq_start = ret; gdev->pintc_base = pdata->pintc_base; @@ -215,6 +215,7 @@ err_unloop: for (i = 0, p = gdev->info; i < cnt; i++, p++) { uio_unregister_device(p); } +err_unmap: iounmap(gdev->prussio_vaddr); err_free_ddr_vaddr: dma_free_coherent(dev, extram_pool_sz, gdev->ddr_vaddr, -- cgit v1.2.3