+41
−6
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
Some GED interrupts could be pending by the time we are doing a reboot.
Even though GED driver uses devm_request_irq() to register the interrupt
handler, the handler is not being freed on time during a shutdown since
the driver is missing a shutdown callback.
If the ACPI handler is no longer available, this causes an interrupt
storm and delays shutdown.
1. Don't use devm family of functions for IRQ registration/free
2. Keep track of the events since free_irq() requires the dev_id
parameter passed into the request_irq() function.
3. Call free_irq() on both remove and shutdown explicitly.
Signed-off-by:
Sinan Kaya <okaya@codeaurora.org>
Signed-off-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com>