clk: at91: system: don't try to free_irq when there is no IRQ

In the error path of at91_clk_register_system(), sys->irq is freed
unconditionally but it may not exist or be request at all.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
This commit is contained in:
Alexandre Belloni 2015-09-11 16:34:07 +02:00 committed by Stephen Boyd
parent de661d0022
commit a97cea2a5c
1 changed files with 2 additions and 1 deletions

View File

@ -138,7 +138,8 @@ at91_clk_register_system(struct at91_pmc *pmc, const char *name,
clk = clk_register(NULL, &sys->hw);
if (IS_ERR(clk)) {
free_irq(sys->irq, sys);
if (irq)
free_irq(sys->irq, sys);
kfree(sys);
}