gpiolib: irqchip: use irq_find_mapping while removing irqchip
authorGrygorii Strashko <grygorii.strashko@ti.com>
Thu, 25 Sep 2014 16:09:23 +0000 (19:09 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 26 Sep 2014 08:40:11 +0000 (10:40 +0200)
commite3893386b90500d7f26fec3170bf96f67d3e557e
tree9bac3eafceab98da205f601dedc405e5d7f5b1bf
parentdcdc3018d6357c35eae7d80b323e10bd72253cb7
gpiolib: irqchip: use irq_find_mapping while removing irqchip

There is no guarantee that VIRQs will be allocated sequentially
for gpio irqchip in gpiochip_irqchip_add().
Therefore, it's unsafe to dispose VIRQ in gpiochip_irqchip_remove()
basing on index relatively to stored irq_base value.

Hence, use irq_find_mapping for VIRQ finding  in gpiochip_irqchip_remove()
instead of irq_base + index.

Reported-by: Wang, Yalin <Yalin.Wang@sonymobile.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c