Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit a6578b70 authored by Abhijeet Dharmapurikar's avatar Abhijeet Dharmapurikar
Browse files

power: smb135x-charger: Handle IRQ race during suspend



After executing the device suspend handlers, the irq framework waits
for any pending IRQ's to complete before proceeding further. In the
current design if the SMB stat IRQ triggers after its suspend handler,
the driver waits in the IRQ handler to avoid any further interrupts.
This waiting leads to a deadlock where the irq framework waits for
the interrupt to complete in its synchronize_irq() called via suspend_
device_irqs().

To avoid this scenario, disable the SMB stat IRQ if it triggers after
suspend and return from the handler. Re-enable the IRQ in the resume
handler.  Explicitly call the stat IRQ handler before enabling the irq
to make sure that the un-serviced IRQ is handled.

CRs-Fixed: 601993
Change-Id: I44672d75609b45dd79e4bfc5c8a819b2e7d173ea
Signed-off-by: default avatarAbhijeet Dharmapurikar <adharmap@codeaurora.org>
parent 0b48c3d7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment