diff options
author | Olof Johansson <olof@lixom.net> | 2017-05-25 16:59:43 -0700 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2017-05-25 16:59:43 -0700 |
commit | 3616aa198fdc3c673ce920a138913b933c1f31a7 (patch) | |
tree | b0af44c81d1fd522ef84017bce0b352d66cf14e1 | |
parent | 6bf1c2d26716dcd483699cc62474e49d164c5563 (diff) | |
parent | 95d7c1f18bf8ac03b0fc48eac1f1b11f867765b8 (diff) | |
download | linux-3616aa198fdc3c673ce920a138913b933c1f31a7.tar.gz linux-3616aa198fdc3c673ce920a138913b933c1f31a7.tar.bz2 linux-3616aa198fdc3c673ce920a138913b933c1f31a7.zip |
Merge tag 'davinci-fixes-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into fixes
These fix issues with power management initialization code
on DaVinci. Some resources were getting freed prematurely.
And there was an issue with resources not being on error.
* tag 'davinci-fixes-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: davinci: PM: Do not free useful resources in normal path in 'davinci_pm_init'
ARM: davinci: PM: Free resources in error handling path in 'davinci_pm_init'
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | arch/arm/mach-davinci/pm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/mach-davinci/pm.c b/arch/arm/mach-davinci/pm.c index efb80354f303..b5cc05dc2cb2 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,10 @@ int __init davinci_pm_init(void) suspend_set_ops(&davinci_pm_ops); + return 0; + +no_sram_mem: + iounmap(pm_config.ddrpsc_reg_base); no_ddrpsc_mem: iounmap(pm_config.ddrpll_reg_base); no_ddrpll_mem: |