Dispose IRQ on failure path. Signed-off-by: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx> --- drivers/net/wireless/microchip/wilc1000/sdio.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/microchip/wilc1000/sdio.c b/drivers/net/wireless/microchip/wilc1000/sdio.c index d11f245542e7..d1fd182bbbff 100644 --- a/drivers/net/wireless/microchip/wilc1000/sdio.c +++ b/drivers/net/wireless/microchip/wilc1000/sdio.c @@ -149,14 +149,15 @@ static int wilc_sdio_probe(struct sdio_func *func, wilc->rtc_clk = devm_clk_get(&func->card->dev, "rtc"); if (PTR_ERR_OR_ZERO(wilc->rtc_clk) == -EPROBE_DEFER) { ret = -EPROBE_DEFER; - goto netdev_cleanup; + goto dispose_irq; } else if (!IS_ERR(wilc->rtc_clk)) clk_prepare_enable(wilc->rtc_clk); dev_info(&func->dev, "Driver Initializing success\n"); return 0; -netdev_cleanup: +dispose_irq: + irq_dispose_mapping(wilc->dev_irq_num); wilc_netdev_cleanup(wilc); free: kfree(sdio_priv); -- 2.25.1