summaryrefslogtreecommitdiffstats
path: root/drivers/power
diff options
context:
space:
mode:
authorArvind Yadav <arvind.yadav.cs@gmail.com>2016-08-12 17:19:18 +0200
committerSebastian Reichel <sre@kernel.org>2016-08-12 22:42:37 +0200
commitbae170efd6c42bf116f513a1dd07639d68fa71b9 (patch)
treeff62d89815e7ea5e98453856f746846db7fb9ac8 /drivers/power
parentpower: reset: reboot-mode: fix build error of missing ioremap/iounmap on UM (diff)
downloadlinux-bae170efd6c42bf116f513a1dd07639d68fa71b9.tar.xz
linux-bae170efd6c42bf116f513a1dd07639d68fa71b9.zip
power: reset: hisi-reboot: Unmap region obtained by of_iomap
Free memory mapping, if probe is not successful. Fixes: 4a9b37371822 ("power: reset: move hisilicon reboot code") Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: Sebastian Reichel <sre@kernel.org>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/reset/hisi-reboot.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/power/reset/hisi-reboot.c b/drivers/power/reset/hisi-reboot.c
index 9ab7f562a83b..f69387e12c1e 100644
--- a/drivers/power/reset/hisi-reboot.c
+++ b/drivers/power/reset/hisi-reboot.c
@@ -53,13 +53,16 @@ static int hisi_reboot_probe(struct platform_device *pdev)
if (of_property_read_u32(np, "reboot-offset", &reboot_offset) < 0) {
pr_err("failed to find reboot-offset property\n");
+ iounmap(base);
return -EINVAL;
}
err = register_restart_handler(&hisi_restart_nb);
- if (err)
+ if (err) {
dev_err(&pdev->dev, "cannot register restart handler (err=%d)\n",
err);
+ iounmap(base);
+ }
return err;
}