diff options
author | Arvind Yadav <arvind.yadav.cs@gmail.com> | 2016-09-19 04:21:24 -0400 |
---|---|---|
committer | Stephen Boyd <sboyd@codeaurora.org> | 2016-12-08 19:35:22 -0500 |
commit | 16cd77645bddbcee951c63b964f23826dadbfd2e (patch) | |
tree | c188fa017b8897c2854964b4defbd2c9fa0ab2c1 | |
parent | 113ff9c99a6926047e279cdf4479c186b41c5eae (diff) |
clk: st: clk-flexgen: Unmap region obtained by of_iomap
Free memory mapping, if probe is not successful.
Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
-rw-r--r-- | drivers/clk/st/clk-flexgen.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/clk/st/clk-flexgen.c b/drivers/clk/st/clk-flexgen.c index a485f3b284b9..918ba3164da9 100644 --- a/drivers/clk/st/clk-flexgen.c +++ b/drivers/clk/st/clk-flexgen.c | |||
@@ -329,8 +329,10 @@ static void __init st_of_flexgen_setup(struct device_node *np) | |||
329 | return; | 329 | return; |
330 | 330 | ||
331 | parents = flexgen_get_parents(np, &num_parents); | 331 | parents = flexgen_get_parents(np, &num_parents); |
332 | if (!parents) | 332 | if (!parents) { |
333 | iounmap(reg); | ||
333 | return; | 334 | return; |
335 | } | ||
334 | 336 | ||
335 | match = of_match_node(flexgen_of_match, np); | 337 | match = of_match_node(flexgen_of_match, np); |
336 | if (match) { | 338 | if (match) { |
@@ -394,6 +396,7 @@ static void __init st_of_flexgen_setup(struct device_node *np) | |||
394 | return; | 396 | return; |
395 | 397 | ||
396 | err: | 398 | err: |
399 | iounmap(reg); | ||
397 | if (clk_data) | 400 | if (clk_data) |
398 | kfree(clk_data->clks); | 401 | kfree(clk_data->clks); |
399 | kfree(clk_data); | 402 | kfree(clk_data); |