Messages in this thread Patch in this message | | | From | Markus Elfring <> | Subject | [PATCH] ARM: imx6: Add missing put_device() call in imx6q_suspend_init() | Date | Sat, 9 Nov 2019 16:30:42 +0100 |
| |
From: Markus Elfring <elfring@users.sourceforge.net> Date: Sat, 9 Nov 2019 16:16:33 +0100
A coccicheck run provided information like the following.
arch/arm/mach-imx/pm-imx6.c:586:1-7: ERROR: missing put_device; call of_find_device_by_node on line 485, but without a corresponding object release within this function.
Generated by: scripts/coccinelle/free/put_device.cocci
Thus adjust jump targets to fix the exception handling for this function implementation.
Fixes: df595746fa69db2e36d89677df26ba51f9706c1b ("ARM: imx: add suspend in ocram support for i.mx6q") Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> --- arch/arm/mach-imx/pm-imx6.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c index 1c0ecad3620e..baf3b47601af 100644 --- a/arch/arm/mach-imx/pm-imx6.c +++ b/arch/arm/mach-imx/pm-imx6.c @@ -493,14 +493,14 @@ static int __init imx6q_suspend_init(const struct imx6_pm_socdata *socdata) if (!ocram_pool) { pr_warn("%s: ocram pool unavailable!\n", __func__); ret = -ENODEV; - goto put_node; + goto put_device; }
ocram_base = gen_pool_alloc(ocram_pool, MX6Q_SUSPEND_OCRAM_SIZE); if (!ocram_base) { pr_warn("%s: unable to alloc ocram!\n", __func__); ret = -ENOMEM; - goto put_node; + goto put_device; }
ocram_pbase = gen_pool_virt_to_phys(ocram_pool, ocram_base); @@ -523,7 +523,7 @@ static int __init imx6q_suspend_init(const struct imx6_pm_socdata *socdata) ret = imx6_pm_get_base(&pm_info->mmdc_base, socdata->mmdc_compat); if (ret) { pr_warn("%s: failed to get mmdc base %d!\n", __func__, ret); - goto put_node; + goto put_device; }
ret = imx6_pm_get_base(&pm_info->src_base, socdata->src_compat); @@ -570,7 +570,7 @@ static int __init imx6q_suspend_init(const struct imx6_pm_socdata *socdata) &imx6_suspend, MX6Q_SUSPEND_OCRAM_SIZE - sizeof(*pm_info));
- goto put_node; + goto put_device;
pl310_cache_map_failed: iounmap(pm_info->gpc_base.vbase); @@ -580,6 +580,8 @@ static int __init imx6q_suspend_init(const struct imx6_pm_socdata *socdata) iounmap(pm_info->src_base.vbase); src_map_failed: iounmap(pm_info->mmdc_base.vbase); +put_device: + put_device(&pdev->dev); put_node: of_node_put(node);
-- 2.24.0
| |