aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/clk/rockchip/clk-inverter.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/clk/rockchip/clk-inverter.c b/drivers/clk/rockchip/clk-inverter.c
index 7cbf43beb3c6..dcb6e37f3da1 100644
--- a/drivers/clk/rockchip/clk-inverter.c
+++ b/drivers/clk/rockchip/clk-inverter.c
@@ -90,7 +90,7 @@ struct clk *rockchip_clk_register_inverter(const char *name,
90 90
91 inv_clock = kmalloc(sizeof(*inv_clock), GFP_KERNEL); 91 inv_clock = kmalloc(sizeof(*inv_clock), GFP_KERNEL);
92 if (!inv_clock) 92 if (!inv_clock)
93 return NULL; 93 return ERR_PTR(-ENOMEM);
94 94
95 init.name = name; 95 init.name = name;
96 init.num_parents = num_parents; 96 init.num_parents = num_parents;
@@ -106,11 +106,7 @@ struct clk *rockchip_clk_register_inverter(const char *name,
106 106
107 clk = clk_register(NULL, &inv_clock->hw); 107 clk = clk_register(NULL, &inv_clock->hw);
108 if (IS_ERR(clk)) 108 if (IS_ERR(clk))
109 goto err_free; 109 kfree(inv_clock);
110 110
111 return clk; 111 return clk;
112
113err_free:
114 kfree(inv_clock);
115 return NULL;
116} 112}