Re: [PATCH] pinctrl: baytrail: Set IRQCHIP_SET_TYPE_MASKED flag on the irqchip
From: Andy Shevchenko <hidden>
Date: 2021-11-23 13:39:45
Also in:
linux-acpi
From: Andy Shevchenko <hidden>
Date: 2021-11-23 13:39:45
Also in:
linux-acpi
On Tue, Nov 23, 2021 at 01:08:30PM +0200, Mika Westerberg wrote:
On Mon, Nov 22, 2021 at 11:04:23PM +0100, Hans de Goede wrote:quoted
The byt_irq_type function ends with the IRQ masked, this means that calls to irq_set_irq_type() while the IRQ is enabled end up masking it, which is wrong. Add the IRQCHIP_SET_TYPE_MASKED flag to fix this. This will make the IRQ core call mask() + unmask() on the IRQ around a set_type() call when the IRQ is enabled at the type of the call. Note in practice irq_set_irq_type() getting called while the IRQ is enabled almost never happens. I hit this with a buggy DSDT where a wrongly active (_STA returns 0xf) I2C ACPI devices point to an IRQ already in use by an _AEI handler, leading to the irq_set_irq_type() call in acpi_dev_gpio_irq_get_by() getting called while the IRQ is enabled. Signed-off-by: Hans de Goede <redacted>Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Pushed to my review and testing queue, thanks! -- With Best Regards, Andy Shevchenko