Skip to content

Commit 7808c02

Browse files
claudiubezneacristibirsan
authored andcommitted
staging: wilc1000: dipose irq on failure path
Dispose IRQ on failure path. Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
1 parent 6473a49 commit 7808c02

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

  • drivers/staging/wilc1000

drivers/staging/wilc1000/sdio.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -176,23 +176,26 @@ static int wilc_sdio_probe(struct sdio_func *func,
176176
wilc->dev_irq_num = irq_num;
177177

178178
wilc->rtc_clk = devm_clk_get(&func->card->dev, "rtc");
179-
if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER)
180-
return -EPROBE_DEFER;
181-
else if (!IS_ERR(wilc->rtc_clk))
179+
if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER) {
180+
ret = -EPROBE_DEFER;
181+
goto dispose_irq;
182+
} else if (!IS_ERR(wilc->rtc_clk)) {
182183
clk_prepare_enable(wilc->rtc_clk);
184+
}
183185

184186
if (!init_power) {
185187
ret = wilc_wlan_power_on_sequence(wilc);
186188
if (ret)
187-
goto netdev_cleanup;
189+
goto dispose_irq;
188190
init_power = 1;
189191
}
190192

191193
wilc_bt_init(wilc);
192194

193195
dev_info(&func->dev, "Driver Initializing success\n");
194196
return 0;
195-
netdev_cleanup:
197+
dispose_irq:
198+
irq_dispose_mapping(wilc->dev_irq_num);
196199
wilc_netdev_cleanup(wilc);
197200
free:
198201
kfree(sdio_priv);

0 commit comments

Comments
 (0)