Bladeren bron

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>
Alexandre Belloni 10 jaren geleden
bovenliggende
commit
a97cea2a5c
1 gewijzigde bestanden met toevoegingen van 2 en 1 verwijderingen
  1. 2 1
      drivers/clk/at91/clk-system.c

+ 2 - 1
drivers/clk/at91/clk-system.c

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