summaryrefslogtreecommitdiff
path: root/rust/helpers/platform.c
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.cirrus.com>2025-09-03 10:45:46 +0100
committerMark Brown <broonie@kernel.org>2025-09-04 13:00:38 +0100
commita69b4ba19a07896e7e4246446bad002f5fc0dae1 (patch)
tree336bf2b84cd5588f46998a5528d1a2c413c5aeb3 /rust/helpers/platform.c
parent149dda5f42a8fa6dacf2cff1d16952de28622d30 (diff)
ASoC: cs42l43: Disable IRQs in system suspend
Currently the MFD driver disables all the IRQs upon entering system suspend, however there are some issues with this approach. As this device uses runtime force suspend. The regmap IRQ handler can run, claim a PM runtime reference and get scheduled, the MFD can then force suspend. When the IRQ thread gets rescheduled it will try to access volatile registers on the suspended device. Furthermore, this race also applies to work queue items scheduled by the IRQ handlers. As the MFD code doesn't know about the individual work queue items, the end drivers must mask their own IRQs and sync in any work queues as part of entering system suspend. Update the code here to do so. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Message-ID: <20250903094549.271068-4-ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'rust/helpers/platform.c')
0 files changed, 0 insertions, 0 deletions