[-next] uio: pruss: fix missing iounmap() in pruss_probe()

Message ID 20230808123827.560603-1-yangyingliang@huawei.com
State New
Headers
Series [-next] uio: pruss: fix missing iounmap() in pruss_probe() |

Commit Message

Yang Yingliang Aug. 8, 2023, 12:38 p.m. UTC
  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 <yangyingliang@huawei.com>
---
 drivers/uio/uio_pruss.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Patch

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 @@  static int pruss_probe(struct platform_device *pdev)
 	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,