iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe()
authorYuan Can <yuancan@huawei.com>
Mon, 21 Nov 2022 08:20:22 +0000 (08:20 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:32:50 +0000 (13:32 +0100)
[ Upstream commit 73f5fc5f884ad0c5f7d57f66303af64f9f002526 ]

The fsl_pamu_probe() returns directly when create_csd() failed, leaving
irq and memories unreleased.
Fix by jumping to error if create_csd() returns error.

Fixes: 695093e38c3e ("iommu/fsl: Freescale PAMU driver and iommu implementation.")
Signed-off-by: Yuan Can <yuancan@huawei.com>
Link: https://lore.kernel.org/r/20221121082022.19091-1-yuancan@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iommu/fsl_pamu.c

index 0d03f83..7a1a413 100644 (file)
@@ -868,7 +868,7 @@ static int fsl_pamu_probe(struct platform_device *pdev)
                ret = create_csd(ppaact_phys, mem_size, csd_port_id);
                if (ret) {
                        dev_err(dev, "could not create coherence subdomain\n");
-                       return ret;
+                       goto error;
                }
        }