Messages in this thread | | | From | Bard Liao <> | Subject | [PATCH 0/4] ASoC/soundwire: fix race conditions on remove | Date | Wed, 10 Apr 2024 02:34:34 +0000 |
| |
There is a possible rate condition when removing the soundwire driver. When the manager becomes pm_runtime active in the remove procedure, peripherals will become attached, and do the initialization process. We have to wait until all the devices are fully resumed before the cleanup, otherwise there is a possible race condition where asynchronous workqueues initiate transfers on the bus that cannot complete. This patchset fixes the issue by ensuring all devices are fully resumed and SoundWire interrupt is disabled after all jobs are done. The change is mainly on SoundWire. It would be better to go through SoundWire tree.
Bard Liao (3): soundwire: intel_auxdevice: use pm_runtime_resume() instead of pm_request_resume() soundwire: intel: export intel_resume_child_device soundwire: intel_init: resume all devices on exit.
Pierre-Louis Bossart (1): ASoC: SOF: Intel: hda: disable SoundWire interrupt later
drivers/soundwire/intel_auxdevice.c | 10 +++++----- drivers/soundwire/intel_auxdevice.h | 1 + drivers/soundwire/intel_init.c | 14 ++++++++++++++ sound/soc/sof/intel/hda.c | 4 ++-- 4 files changed, 22 insertions(+), 7 deletions(-)
-- 2.34.1
| |