On Mon, Nov 22, 2021 at 11:04:23PM +0100, Hans de Goede wrote: > 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 <hdegoede@xxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>