linux/sound/soc
Srinivas Kandagatla b377d4df8f ASoC: q6apm-lpass-dai: close graph on prepare errors
[ Upstream commit be1fae62cf ]

There is an issue around with error handling and graph management with
the exising code, none of the error paths close the graph, which result in
leaving the loaded graph in dsp, however the driver thinks otherwise.

This can have a nasty side effect specially when we try to load the same
graph to dsp, dsp returns error which leaves the board with no sound and
requires restart.

Fix this by properly closing the graph when we hit errors between
open and close.

Fixes: 30ad723b93 ("ASoC: qdsp6: audioreach: add q6apm lpass dai support")
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> # X13s
Link: https://lore.kernel.org/r/20240613-q6apm-fixes-v1-1-d88953675ab3@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-07-05 09:33:45 +02:00
..
adi ASoC: adi: merge DAI call back functions into ops 2023-08-14 13:10:03 +01:00
amd ASoC: acp: Support microphone from device Acer 315-24p 2024-06-12 11:11:25 +02:00
apple
atmel ASoC: atmel: atmel-classd: Re-add dai_link->platform to fix card init 2024-07-05 09:33:45 +02:00
au1x ASoC: au1x: merge DAI call back functions into ops 2023-08-14 13:10:15 +01:00
bcm ASoC: bcm: merge DAI call back functions into ops 2023-08-14 13:10:06 +01:00
cirrus ASoC: cirrus: merge DAI call back functions into ops 2023-08-14 13:10:22 +01:00
codecs ASoC: cs42l43: Only restrict 44.1kHz for the ASP 2024-06-12 11:12:56 +02:00
dwc ASoC: dwc: Fix non-DT instantiation 2023-10-13 18:40:27 +01:00
fsl ASoC: soc-card: Fix missing locking in snd_soc_card_get_kcontrol() 2024-03-06 14:48:38 +00:00
generic ASoC: simple-card: fixup asoc_simple_probe() error handling 2023-09-19 13:48:38 +01:00
google
hisilicon ASoC: hisilicon: merge DAI call back functions into ops 2023-08-14 13:10:30 +01:00
img ASoC: img: merge DAI call back functions into ops 2023-08-14 13:10:08 +01:00
intel ASoC: Intel: sof-sdw: really remove FOUR_SPEAKER quirk 2024-06-27 13:49:15 +02:00
jz4740 ASoC: jz4740: merge DAI call back functions into ops 2023-08-14 13:10:21 +01:00
kirkwood ASoC: kirkwood: Fix potential NULL dereference 2024-06-12 11:11:58 +02:00
loongson ASoC: loongson: merge DAI call back functions into ops 2023-08-14 13:10:28 +01:00
mediatek ASoC: mediatek: mt8183-da7219-max98357: Fix kcontrol name collision 2024-07-05 09:33:44 +02:00
meson ASoC: meson: cards: select SND_DYNAMIC_MINORS 2024-05-17 12:02:05 +02:00
mxs
pxa ASoC: pxa: fix a memory leak in probe() 2023-10-09 13:13:50 +01:00
qcom ASoC: q6apm-lpass-dai: close graph on prepare errors 2024-07-05 09:33:45 +02:00
rockchip ASoC: rockchip: i2s-tdm: Fix trcm mode by setting clock on right mclk 2024-07-05 09:33:44 +02:00
samsung ASoC: samsung: tm2_wm5110: parse audio-routing 2023-08-16 14:47:20 +01:00
sh ASoC: sh: rz-ssi: Fix error message print 2024-03-26 18:19:44 -04:00
sof ASoC: SOF: ipc4-topology: Fix input format query of process modules without base extension 2024-06-16 13:47:46 +02:00
spear
sprd
starfive ASoC: starfive: merge DAI call back functions into ops 2023-08-14 13:10:29 +01:00
sti ASoC: sti: merge DAI call back functions into ops 2023-08-14 13:10:10 +01:00
stm ASoC: dmaengine: Drop unused iov_iter for process callback 2023-09-01 15:38:29 +02:00
sunxi ASoC: sunxi: sun4i-spdif: Add support for Allwinner H616 2024-03-01 13:34:51 +01:00
tegra ASoC: tegra: Fix DSPK 16-bit playback 2024-05-17 12:02:32 +02:00
ti ASoC: ti: davinci-mcasp: Fix race condition during probe 2024-05-17 12:02:32 +02:00
uniphier ASoC: uniphier: merge DAI call back functions into ops 2023-08-14 13:10:27 +01:00
ux500 ASoC: ux500: merge DAI call back functions into ops 2023-08-14 13:10:16 +01:00
xilinx
xtensa
Kconfig ASoC: topology: Add explicit build option 2023-07-18 15:19:03 +01:00
Makefile
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: improve log messagesin link_slaves_found() 2023-07-31 23:24:01 +01:00
soc-card.c ASoC: soc-card: Fix missing locking in snd_soc_card_get_kcontrol() 2024-03-06 14:48:38 +00:00
soc-component.c ASoC: soc-dapm: Add helper for comparing widget name 2023-10-09 13:03:28 +01:00
soc-compress.c ASoC: Fixes that got left after v6.4 2023-08-28 16:56:54 +02:00
soc-core.c ASoC: soc-core.c: Skip dummy codec when adding platforms 2024-04-13 13:07:39 +02:00
soc-dai.c ASoC: soc-dai: add flag to mute and unmute stream during trigger 2023-11-28 17:20:04 +00:00
soc-dapm.c ASoC: dapm: fix clock get name 2023-11-20 11:59:37 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc-generic-dmaengine-pcm: Fix function name in comment 2023-09-22 17:33:04 +01:00
soc-jack.c ASoC: soc-jack: calling snd_soc_jack_report causes a null pointer access 2023-08-14 22:10:35 +01:00
soc-link.c
soc-ops.c ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw 2024-04-10 16:35:59 +02:00
soc-pcm.c ASoC: soc-dai: add flag to mute and unmute stream during trigger 2023-11-28 17:20:04 +00:00
soc-topology-test.c
soc-topology.c ASoC: Updates for v6.6 2023-08-28 16:13:03 +02:00
soc-utils-test.c
soc-utils.c ASoC: soc.h: convert asoc_xxx() to snd_soc_xxx() 2024-03-06 14:48:37 +00:00