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>
Link: https://lore.kernel.org/r/20230808123827.560603-1-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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;
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,