mtd: maps: pxa2xx-flash: fix memory leak in probe

Free 'info' upon remapping error to avoid a memory leak.

Fixes: e644f7d628 ("[MTD] MAPS: Merge Lubbock and Mainstone drivers into common PXA2xx driver")
Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
[<miquel.raynal@bootlin.com>: Reword the commit log]
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20221119073307.22929-1-zhengyongjun3@huawei.com
This commit is contained in:
Zheng Yongjun 2022-11-19 07:33:07 +00:00 committed by Miquel Raynal
parent 56570bdad5
commit 2399401fee
1 changed files with 2 additions and 0 deletions

View File

@ -64,6 +64,7 @@ static int pxa2xx_flash_probe(struct platform_device *pdev)
if (!info->map.virt) { if (!info->map.virt) {
printk(KERN_WARNING "Failed to ioremap %s\n", printk(KERN_WARNING "Failed to ioremap %s\n",
info->map.name); info->map.name);
kfree(info);
return -ENOMEM; return -ENOMEM;
} }
info->map.cached = ioremap_cache(info->map.phys, info->map.size); info->map.cached = ioremap_cache(info->map.phys, info->map.size);
@ -85,6 +86,7 @@ static int pxa2xx_flash_probe(struct platform_device *pdev)
iounmap((void *)info->map.virt); iounmap((void *)info->map.virt);
if (info->map.cached) if (info->map.cached)
iounmap(info->map.cached); iounmap(info->map.cached);
kfree(info);
return -EIO; return -EIO;
} }
info->mtd->dev.parent = &pdev->dev; info->mtd->dev.parent = &pdev->dev;