diff mbox series

clk: hisilicon: Improve deallocation in error path

Message ID 20240708-hisi-error-v1-1-727bc7399b63@gmx.net (mailing list archive)
State Under Review
Headers show
Series clk: hisilicon: Improve deallocation in error path | expand

Commit Message

J. Neuschäfer July 7, 2024, 11:46 p.m. UTC
The error handling in hisi_clk_init doesn't deallocate (unmap) the
'base' mapping if an error happens later in the function.

Reported-by: Tao Lan <taolan@huawei.com>
Closes: https://lore.kernel.org/lkml/ZNlSH+eWV8Sk3FYn@probook/
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
---
 drivers/clk/hisilicon/clk.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


---
base-commit: 22a40d14b572deb80c0648557f4bd502d7e83826
change-id: 20240329-hisi-error-c00ad7f8dd72

Best regards,
--
Jonathan Neuschäfer <j.neuschaefer@gmx.net>
diff mbox series

Patch

diff --git a/drivers/clk/hisilicon/clk.c b/drivers/clk/hisilicon/clk.c
index 09368fd32befb3..72aad24a5ebb26 100644
--- a/drivers/clk/hisilicon/clk.c
+++ b/drivers/clk/hisilicon/clk.c
@@ -70,7 +70,7 @@  struct hisi_clock_data *hisi_clk_init(struct device_node *np,

 	clk_data = kzalloc(sizeof(*clk_data), GFP_KERNEL);
 	if (!clk_data)
-		goto err;
+		goto err_base;

 	clk_data->base = base;
 	clk_table = kcalloc(nr_clks, sizeof(*clk_table), GFP_KERNEL);
@@ -83,6 +83,8 @@  struct hisi_clock_data *hisi_clk_init(struct device_node *np,
 	return clk_data;
 err_data:
 	kfree(clk_data);
+err_base:
+	iounmap(base);
 err:
 	return NULL;
 }