On Sun, Nov 06, 2022 at 10:53:19PM +0100, Hans de Goede wrote: > It seems that the Windows drivers for the ACPI0011 soc_button_array > device use low level triggered IRQs rather then using edge triggering. > > Some ACPI tables depend on this, directly poking the GPIO controller's > registers to clear the trigger type when closing a laptop's/2-in-1's lid > and re-instating the trigger when opening the lid again. > > Linux sets the edge/level on which to trigger to both low+high since > it is using edge type IRQs, the ACPI tables then ends up also setting > the bit for level IRQs and since both low and high level have been > selected by Linux we get an IRQ storm leading to soft lockups. > > As a workaround for this the soc_button_array already contains > a DMI quirk table with device models known to have this issue. > > Add a module parameter for this so that users can easily test if their > device is affected too and so that they can use the module parameter > as a workaround. > > Cc: Rudolf Polzer <rpolzer@xxxxxxxxxx> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Applied, thank you. -- Dmitry