aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/at91/clk-system.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/at91/clk-system.c')
-rw-r--r--drivers/clk/at91/clk-system.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/clk/at91/clk-system.c b/drivers/clk/at91/clk-system.c
index a76d03fd577b..58008b3e8bc1 100644
--- a/drivers/clk/at91/clk-system.c
+++ b/drivers/clk/at91/clk-system.c
@@ -130,13 +130,17 @@ at91_clk_register_system(struct at91_pmc *pmc, const char *name,
130 irq_set_status_flags(sys->irq, IRQ_NOAUTOEN); 130 irq_set_status_flags(sys->irq, IRQ_NOAUTOEN);
131 ret = request_irq(sys->irq, clk_system_irq_handler, 131 ret = request_irq(sys->irq, clk_system_irq_handler,
132 IRQF_TRIGGER_HIGH, name, sys); 132 IRQF_TRIGGER_HIGH, name, sys);
133 if (ret) 133 if (ret) {
134 kfree(sys);
134 return ERR_PTR(ret); 135 return ERR_PTR(ret);
136 }
135 } 137 }
136 138
137 clk = clk_register(NULL, &sys->hw); 139 clk = clk_register(NULL, &sys->hw);
138 if (IS_ERR(clk)) 140 if (IS_ERR(clk)) {
141 free_irq(sys->irq, sys);
139 kfree(sys); 142 kfree(sys);
143 }
140 144
141 return clk; 145 return clk;
142} 146}