summaryrefslogtreecommitdiff
path: root/sound/soc/sof/core.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2022-12-12 19:10:01 +0000
committerMark Brown <broonie@kernel.org>2022-12-12 19:10:01 +0000
commit73740235a68d61f5eaee2425a0baaf610f4e4b17 (patch)
tree1639eeef2366962adefc34380b826d9f4d5ef411 /sound/soc/sof/core.c
parent0612d748003ce7bcd0d67a8d270900fcdadb1009 (diff)
parent44fda61d2bcfb74a942df93959e083a4e8eff75f (diff)
downloadlinux-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.c9
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);