aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/clk/clk-gpio.c
diff options
context:
space:
mode:
authorStephen Boyd <sboyd@codeaurora.org>2015-07-14 12:45:19 -0700
committerStephen Boyd <sboyd@codeaurora.org>2015-07-28 11:51:39 -0700
commitc5e857a46af24a772f445edcc01a861ee2d6a713 (patch)
tree1d4e9864101a7c05d01a5b05f46c19567d833838 /drivers/clk/clk-gpio.c
parentclk: h8300: Use standard Linux I/O accessors (diff)
downloadwireguard-linux-c5e857a46af24a772f445edcc01a861ee2d6a713.tar.xz
wireguard-linux-c5e857a46af24a772f445edcc01a861ee2d6a713.zip
clk: gpio: Unlock mutex on error path
We don't unlock the mutex if we fail to allocate the parent names array. Unlock it and return an error in this case as well. Reported-by: kbuild test robot <fengguang.wu@intel.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Cc: Sergej Sawazki <ce3a@gmx.de> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'drivers/clk/clk-gpio.c')
-rw-r--r--drivers/clk/clk-gpio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/clk/clk-gpio.c b/drivers/clk/clk-gpio.c
index c0d202c24a97..41277a1526c7 100644
--- a/drivers/clk/clk-gpio.c
+++ b/drivers/clk/clk-gpio.c
@@ -251,8 +251,10 @@ static struct clk *of_clk_gpio_delayed_register_get(
num_parents = of_clk_get_parent_count(data->node);
parent_names = kcalloc(num_parents, sizeof(char *), GFP_KERNEL);
- if (!parent_names)
- return ERR_PTR(-ENOMEM);
+ if (!parent_names) {
+ clk = ERR_PTR(-ENOMEM);
+ goto out;
+ }
for (i = 0; i < num_parents; i++)
parent_names[i] = of_clk_get_parent_name(data->node, i);