Commit 96d4584f authored by Nicholas Mc Guire's avatar Nicholas Mc Guire Committed by Greg Kroah-Hartman

ARM: hisi: handle of_iomap and fix missing of_node_put

[ Upstream commit d396cb18 ]

Relying on an unchecked of_iomap() which can return NULL is problematic
here, an explicit check seems mandatory. Also the call to
of_find_compatible_node() returns a device node with refcount incremented
therefor an explicit of_node_put() is needed here.
Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
Fixes: commit 22bae429 ("ARM: hi3xxx: add hotplug support")
Signed-off-by: default avatarWei Xu <xuwei5@hisilicon.com>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f13ad779
...@@ -148,13 +148,20 @@ static int hi3xxx_hotplug_init(void) ...@@ -148,13 +148,20 @@ static int hi3xxx_hotplug_init(void)
struct device_node *node; struct device_node *node;
node = of_find_compatible_node(NULL, NULL, "hisilicon,sysctrl"); node = of_find_compatible_node(NULL, NULL, "hisilicon,sysctrl");
if (node) { if (!node) {
id = ERROR_CTRL;
return -ENOENT;
}
ctrl_base = of_iomap(node, 0); ctrl_base = of_iomap(node, 0);
of_node_put(node);
if (!ctrl_base) {
id = ERROR_CTRL;
return -ENOMEM;
}
id = HI3620_CTRL; id = HI3620_CTRL;
return 0; return 0;
}
id = ERROR_CTRL;
return -ENOENT;
} }
void hi3xxx_set_cpu(int cpu, bool enable) void hi3xxx_set_cpu(int cpu, bool enable)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment