gpio: dln2: fix issue when an IRQ is unmasked then enabled
authorOctavian Purdila <octavian.purdila@intel.com>
Tue, 16 Dec 2014 15:57:12 +0000 (17:57 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 7 Jan 2015 09:37:44 +0000 (10:37 +0100)
commit0acb0e712b57b4bcabc5fdcb3e445cfce0f80340
tree45b7f1382025d6f175c1d2134e1f6b32d148ba28
parentb7392d2247cfe6771f95d256374f1a8e6a6f48d6
gpio: dln2: fix issue when an IRQ is unmasked then enabled

As noticed during suspend/resume operations, the IRQ can be unmasked
then disabled in suspend and eventually enabled in resume, but without
being unmasked.

The current implementation does not take into account interactions
between mask/unmask and enable/disable interrupts, and thus in the
above scenarios the IRQs remain unactive.

To fix this we removed the enable/disable operations as they fallback
to mask/unmask anyway.

We also remove the pending bitmaks as it is already done in irq_data
(i.e. IRQS_PENDING).

Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Acked-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-dln2.c