Skip to content

Commit 3093e6c

Browse files
Loic Poulainbrgl
authored andcommitted
gpio: mxc: Fix disabled interrupt wake-up support
A disabled/masked interrupt marked as wakeup source must be re-enable and unmasked in order to be able to wake-up the host. That can be done by flaging the irqchip with IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND. Note: It 'sometimes' works without that change, but only thanks to the lazy generic interrupt disabling (keeping interrupt unmasked). Reported-by: Michal Koziel <[email protected]> Signed-off-by: Loic Poulain <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
1 parent dbec64b commit 3093e6c

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/gpio/gpio-mxc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ static int mxc_gpio_init_gc(struct mxc_gpio_port *port, int irq_base)
334334
ct->chip.irq_unmask = irq_gc_mask_set_bit;
335335
ct->chip.irq_set_type = gpio_set_irq_type;
336336
ct->chip.irq_set_wake = gpio_set_wake_irq;
337-
ct->chip.flags = IRQCHIP_MASK_ON_SUSPEND;
337+
ct->chip.flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND;
338338
ct->regs.ack = GPIO_ISR;
339339
ct->regs.mask = GPIO_IMR;
340340

0 commit comments

Comments
 (0)