]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 7 Mar 2022 07:29:47 +0000 (07:29 +0000)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 20 May 2022 12:39:17 +0000 (14:39 +0200)
BugLink: https://bugs.launchpad.net/bugs/1969110
[ Upstream commit e84ee1a75f944a0fe3c277aaa10c426603d2b0bc ]

Add the missing iounmap() before return from asic3_mfd_probe
in the error handling case.

Fixes: 64e8867ba809 ("mfd: tmio_mmc hardware abstraction for CNF area")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220307072947.5369-1-linmq006@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit c64223a8d1882938d3bf395229703914a9b4df73)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/mfd/asic3.c

index 8d58c8df46cfb83f6607faef636884725654e6a9..56338f9dbd0ba187c0a14ef82184e762724039db 100644 (file)
@@ -906,14 +906,14 @@ static int __init asic3_mfd_probe(struct platform_device *pdev,
                ret = mfd_add_devices(&pdev->dev, pdev->id,
                        &asic3_cell_ds1wm, 1, mem, asic->irq_base, NULL);
                if (ret < 0)
-                       goto out;
+                       goto out_unmap;
        }
 
        if (mem_sdio && (irq >= 0)) {
                ret = mfd_add_devices(&pdev->dev, pdev->id,
                        &asic3_cell_mmc, 1, mem_sdio, irq, NULL);
                if (ret < 0)
-                       goto out;
+                       goto out_unmap;
        }
 
        ret = 0;
@@ -927,8 +927,12 @@ static int __init asic3_mfd_probe(struct platform_device *pdev,
                ret = mfd_add_devices(&pdev->dev, 0,
                        asic3_cell_leds, ASIC3_NUM_LEDS, NULL, 0, NULL);
        }
+       return ret;
 
- out:
+out_unmap:
+       if (asic->tmio_cnf)
+               iounmap(asic->tmio_cnf);
+out:
        return ret;
 }