Re: [PATCH] drivers/gpio/*twl* need call irq_free_descs when leaving

From: Peter Ujfalusi
Date: Mon Feb 18 2013 - 04:10:18 EST


On 02/16/2013 08:26 AM, Chen Gang wrote:
>
> since already call irq_alloc_descs before,
> we need call irq_free_descs when quiting, or resource leak.

While it is true that we need to free the descs, but this patch is not correct.
We have other issues to fix in the driver - I have not looked at the
probe/remove path yet, but the sequence is not right and also the call of
gpio_twl4030_remove() from probe is not correct.

I'll send a small series to fix these up.

>
> Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx>
> ---
> drivers/gpio/gpio-twl4030.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/gpio/gpio-twl4030.c b/drivers/gpio/gpio-twl4030.c
> index 4d330e3..26aef72 100644
> --- a/drivers/gpio/gpio-twl4030.c
> +++ b/drivers/gpio/gpio-twl4030.c
> @@ -486,8 +486,10 @@ static int gpio_twl4030_probe(struct platform_device *pdev)
> &irq_domain_simple_ops, NULL);
>
> ret = twl4030_sih_setup(&pdev->dev, TWL4030_MODULE_GPIO, irq_base);
> - if (ret < 0)
> + if (ret < 0) {
> + irq_free_descs(irq_base, TWL4030_GPIO_MAX);
> return ret;
> + }
>
> priv->irq_base = irq_base;
>
> @@ -578,6 +580,7 @@ static int gpio_twl4030_remove(struct platform_device *pdev)
>
> /* REVISIT no support yet for deregistering all the IRQs */
> WARN_ON(1);
> + irq_free_descs(priv->irq_base, TWL4030_GPIO_MAX);
> return -EIO;
> }
>
>


--
Péter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/