Re: [PATCH] pinctrl: qcom: Release pin ranges when gpiochip_irqchip_add fails

From: Bjorn Andersson
Date: Wed Aug 27 2014 - 17:25:01 EST


On Wed, Aug 27, 2014 at 3:57 AM, Pramod Gurav
<pramod.gurav@xxxxxxxxxxxxxxx> wrote:
> This patches adds a call to gpiochip_remove_pin_ranges when
> gpiochip_irqchip_add fails to release memory allocated for pin_ranges.
>
> diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
> @@ -845,6 +845,7 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl)
> IRQ_TYPE_NONE);
> if (ret) {
> dev_err(pctrl->dev, "Failed to add irqchip to gpiochip\n");
> + gpiochip_remove_pin_ranges(chip);
> return -ENOSYS;
> }

Good catch, I guess this was lost in the introduction of gpiochip_irqchip...


Rather than just releasing the pin_ranges of the gpio_chip you should
probably add a gpiochip_remove() both here and in the case of
gpiochip_add_pin_range() failing.

Regards,
Bjorn
--
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/