mfd: cs42l43: Move IRQ enable/disable to encompass force suspend
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Wed, 3 Sep 2025 09:45:48 +0000 (10:45 +0100)
committerLee Jones <lee@kernel.org>
Wed, 1 Oct 2025 09:28:55 +0000 (10:28 +0100)
commit62aec8a0a5b61f149bbe518c636e38e484812499
tree807db10b73ea078dd769d24bdf13caef7e8f16bd
parentd952bba3fbb5d8a3c961e32bae3f7ff19a18762f
mfd: cs42l43: Move IRQ enable/disable to encompass force suspend

As pm_runtime_force_suspend() will force the device state to suspend,
the driver needs to ensure no IRQ handlers are currently running. If not
those handlers may find they are now running on suspended hardware
despite holding a PM runtime reference. disable_irq() will sync any
currently running handlers, so move the IRQ disabling to cover the whole
of the forced suspend state to avoid such race conditions.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20250903094549.271068-6-ckeepax@opensource.cirrus.com
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/cs42l43.c