diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2017-05-13 13:40:05 +0200 |
---|---|---|
committer | Sekhar Nori <nsekhar@ti.com> | 2017-05-17 14:51:49 +0530 |
commit | f3f6cc814f9cb61cfb738af2b126a8bf19e5ab4c (patch) | |
tree | 1ae54eca73f4911308398d7eb02d2e2c2500b99c /arch/arm/mach-davinci/pm.c | |
parent | 2ea659a9ef488125eb46da6eb571de5eae5c43f6 (diff) | |
download | talos-op-linux-f3f6cc814f9cb61cfb738af2b126a8bf19e5ab4c.tar.gz talos-op-linux-f3f6cc814f9cb61cfb738af2b126a8bf19e5ab4c.zip |
ARM: davinci: PM: Free resources in error handling path in 'davinci_pm_init'
If 'sram_alloc' fails, we need to free already allocated resources.
Fixes: aa9aa1ec2df6 ("ARM: davinci: PM: rework init, remove platform device")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Diffstat (limited to 'arch/arm/mach-davinci/pm.c')
-rw-r--r-- | arch/arm/mach-davinci/pm.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-davinci/pm.c b/arch/arm/mach-davinci/pm.c index efb80354f303..d282b0783ecf 100644 --- a/arch/arm/mach-davinci/pm.c +++ b/arch/arm/mach-davinci/pm.c @@ -153,7 +153,8 @@ int __init davinci_pm_init(void) davinci_sram_suspend = sram_alloc(davinci_cpu_suspend_sz, NULL); if (!davinci_sram_suspend) { pr_err("PM: cannot allocate SRAM memory\n"); - return -ENOMEM; + ret = -ENOMEM; + goto no_sram_mem; } davinci_sram_push(davinci_sram_suspend, davinci_cpu_suspend, @@ -161,6 +162,8 @@ int __init davinci_pm_init(void) suspend_set_ops(&davinci_pm_ops); +no_sram_mem: + iounmap(pm_config.ddrpsc_reg_base); no_ddrpsc_mem: iounmap(pm_config.ddrpll_reg_base); no_ddrpll_mem: |