actually the driver does a request_threaded_irq and after this it calls lp8727_register_psy, and if it fails it doesn't free the irqs that it registered to
Signed-off-by: Devendra Naga <[email protected]> --- drivers/power/lp8727_charger.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/power/lp8727_charger.c b/drivers/power/lp8727_charger.c index d8b7578..699f0ef 100644 --- a/drivers/power/lp8727_charger.c +++ b/drivers/power/lp8727_charger.c @@ -454,11 +454,13 @@ static int lp8727_probe(struct i2c_client *cl, const struct i2c_device_id *id) ret = lp8727_register_psy(pchg); if (ret) { dev_err(pchg->dev, "power supplies register err: %d", ret); - goto error; + goto error_irq; } return 0; +error_irq: + free_irq(pchg->client->irq, pchg); error: kfree(pchg); return ret; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

