alistair23-linux/sound/soc/sof
Pierre-Louis Bossart df57920d6e ASoC: SOF: core: release resources on errors in probe_continue
[ Upstream commit 410e5e55c9 ]

The initial intent of releasing resources in the .remove does not work
well with HDaudio codecs. If the probe_continue() fails in a work
queue, e.g. due to missing firmware or authentication issues, we don't
release any resources, and as a result the kernel oopses during
suspend operations.

The suggested fix is to release all resources during errors in
probe_continue(), and use fw_state to track resource allocation
state, so that .remove does not attempt to release the same
hardware resources twice. PM operations are also modified so that
no action is done if DSP resources have been freed due to
an error at probe.

Reported-by: Takashi Iwai <tiwai@suse.de>
Co-developed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Bugzilla:  http://bugzilla.suse.com/show_bug.cgi?id=1161246
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20200124213625.30186-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-02-11 04:35:27 -08:00
..
imx ASoC: SOF: imx8: Fix dsp_box offset 2020-01-17 19:48:19 +01:00
intel ASoC: SOF: Introduce state machine for FW boot 2020-02-11 04:35:27 -08:00
xtensa sound fixes for 5.2-rc5 2019-06-14 05:37:06 -10:00
control.c ASoC: SOF: control: return true when kcontrol values change 2019-10-18 18:09:22 +01:00
core.c ASoC: SOF: core: release resources on errors in probe_continue 2020-02-11 04:35:27 -08:00
debug.c ASoC: SOF: Fix memory leak in sof_dfsentry_write 2019-10-28 13:10:23 +00:00
ipc.c ASoC: SOF: Introduce state machine for FW boot 2020-02-11 04:35:27 -08:00
Kconfig ASoC: SOF: imx: Add i.MX8 HW support 2019-08-22 18:28:32 +01:00
loader.c ASoC: SOF: Introduce state machine for FW boot 2020-02-11 04:35:27 -08:00
Makefile ASoC: SOF: imx: Add i.MX8 HW support 2019-08-22 18:28:32 +01:00
nocodec.c ASoC: sof: use modern dai_link style 2019-06-06 22:10:38 +01:00
ops.c ASoC: SOF: Fix a compile warning with CONFIG_PCI=n 2019-05-07 11:23:57 +09:00
ops.h ASoC: SOF: Introduce snd_sof_dsp_get_window_offset 2019-08-09 13:26:02 +01:00
pcm.c ASoC: SOF: pcm: harden PCM STOP sequence 2019-10-01 18:31:25 +01:00
pm.c ASoC: SOF: core: release resources on errors in probe_continue 2020-02-11 04:35:27 -08:00
sof-acpi-dev.c ASoC: SOF: add runtime idle callback 2019-07-06 12:23:24 +01:00
sof-of-dev.c ASoC: SOF: Add OF DSP device support 2019-08-22 18:28:20 +01:00
sof-pci-dev.c ASoC: SOF: Intel: initial support for Elkhart Lake 2019-08-15 18:13:39 +01:00
sof-priv.h ASoC: SOF: Introduce state machine for FW boot 2020-02-11 04:35:27 -08:00
topology.c ASoC: SOF: topology: set trigger order for FE DAI link 2019-12-31 16:44:44 +01:00
trace.c ASoC: SOF: no need to check return value of debugfs_create functions 2019-08-01 13:56:07 +01:00
utils.c