Mask the GPIO interrupt while its type is being changed, just in case it can prevent a spurious interrupt. Signed-off-by: Doug Berger <opendmb@xxxxxxxxx> --- drivers/gpio/gpio-brcmstb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio-brcmstb.c b/drivers/gpio/gpio-brcmstb.c index 0418cb266586..e2fff559c1ca 100644 --- a/drivers/gpio/gpio-brcmstb.c +++ b/drivers/gpio/gpio-brcmstb.c @@ -363,7 +363,9 @@ static int brcmstb_gpio_irq_setup(struct platform_device *pdev, bank->irq_chip.irq_set_type = brcmstb_gpio_irq_set_type; /* Ensures that all non-wakeup IRQs are disabled at suspend */ - bank->irq_chip.flags = IRQCHIP_MASK_ON_SUSPEND; + /* and that interrupts are masked when changing their type */ + bank->irq_chip.flags = IRQCHIP_MASK_ON_SUSPEND | + IRQCHIP_SET_TYPE_MASKED; if (IS_ENABLED(CONFIG_PM_SLEEP) && !priv->parent_wake_irq && of_property_read_bool(np, "wakeup-source")) { -- 2.14.1 -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html