On Wed, Aug 27, 2014 at 3:57 AM, Pramod Gurav
<pramod.gu...@smartplayin.com> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to