diff options
| author | Mark Brown <broonie@kernel.org> | 2022-12-12 19:10:01 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2022-12-12 19:10:01 +0000 |
| commit | 73740235a68d61f5eaee2425a0baaf610f4e4b17 (patch) | |
| tree | 1639eeef2366962adefc34380b826d9f4d5ef411 /sound/soc/sof/core.c | |
| parent | 0612d748003ce7bcd0d67a8d270900fcdadb1009 (diff) | |
| parent | 44fda61d2bcfb74a942df93959e083a4e8eff75f (diff) | |
| download | linux-73740235a68d61f5eaee2425a0baaf610f4e4b17.tar.gz linux-73740235a68d61f5eaee2425a0baaf610f4e4b17.tar.bz2 linux-73740235a68d61f5eaee2425a0baaf610f4e4b17.zip | |
ASoC: SOF: remove unregister calls from shutdown
Merge series from Kai Vehmanen <kai.vehmanen@linux.intel.com>:
This patchset is an alternative solution to problems
reported by Ricardo Ribalda <ribalda@chromium.org> and
Zhen Ni <nizhen@uniontech.com>, as discussed in
- "[PATCH] ALSA: core: Fix deadlock when shutdown a frozen userspace"
https://mailman.alsa-project.org/pipermail/alsa-devel/2022-November/209248.html
- "[PATCH] ASoc: SOF: Fix sof-audio-pci-intel-tgl shutdown timeout during hibernation"
https://mailman.alsa-project.org/pipermail/alsa-devel/2022-December/209685.html
It was raised by Oliver Neukum <oneukum@suse.com> that kernel should
not let user-space stall the shutdown process in any scenario and the
unregister call in current SOF shutdown code is not right.
This series reverts the ASoC SOF patch to unregister clients and
the machine drivers at shutdown. To avoid bringing back old bugs,
the series includes a patch to fix S5 entry on certain Intel
platforms.
Diffstat (limited to 'sound/soc/sof/core.c')
| -rw-r--r-- | sound/soc/sof/core.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c index 3e6141d03770..625977a29d8a 100644 --- a/sound/soc/sof/core.c +++ b/sound/soc/sof/core.c @@ -475,19 +475,10 @@ EXPORT_SYMBOL(snd_sof_device_remove); int snd_sof_device_shutdown(struct device *dev) { struct snd_sof_dev *sdev = dev_get_drvdata(dev); - struct snd_sof_pdata *pdata = sdev->pdata; if (IS_ENABLED(CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE)) cancel_work_sync(&sdev->probe_work); - /* - * make sure clients and machine driver(s) are unregistered to force - * all userspace devices to be closed prior to the DSP shutdown sequence - */ - sof_unregister_clients(sdev); - - snd_sof_machine_unregister(sdev, pdata); - if (sdev->fw_state == SOF_FW_BOOT_COMPLETE) return snd_sof_shutdown(sdev); |
