kernel_samsung_a53x/sound/soc
Kuninori Morimoto 7df8350cad ASoC: simple-card: fixup asoc_simple_probe() error handling
commit 41bae58df411f9accf01ea660730649b2fab1dab upstream.

asoc_simple_probe() is used for both "DT probe" (A) and "platform probe"
(B). It uses "goto err" when error case, but it is not needed for
"platform probe" case (B). Thus it is using "return" directly there.

	static int asoc_simple_probe(...)
	{
 ^		if (...) {
 |			...
(A)			if (ret < 0)
 |				goto err;
 v		} else {
 ^			...
 |			if (ret < 0)
(B)				return -Exxx;
 v		}

		...
 ^		if (ret < 0)
(C)			goto err;
 v		...

	err:
(D)		simple_util_clean_reference(card);

		return ret;
	}

Both case are using (C) part, and it calls (D) when err case.
But (D) will do nothing for (B) case.
Because of these behavior, current code itself is not wrong,
but is confusable, and more, static analyzing tool will warning on
(B) part (should use goto err).

To avoid static analyzing tool warning, this patch uses "goto err"
on (B) part.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87o7hy7mlh.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-18 12:10:57 +01:00
..
adi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
amd Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atmel Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
au1x Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bcm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cirrus Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
codecs ASoC: rt5650: fix the wrong result of key button 2024-11-18 10:58:46 +01:00
dwc Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fsl ASoC: fsl: Fix PM disable depth imbalance in fsl_easrc_probe 2024-11-18 11:43:03 +01:00
generic ASoC: simple-card: fixup asoc_simple_probe() error handling 2024-11-18 12:10:57 +01:00
hisilicon Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
img Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
intel ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails 2024-11-18 11:43:04 +01:00
jz4740 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kirkwood Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mediatek Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
meson Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mxs Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pxa ASoC: pxa: fix a memory leak in probe() 2024-11-08 11:26:20 +01:00
qcom Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rockchip Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
samsung sound: abox: Bump buffer sizes up 2024-11-17 17:40:16 +01:00
sh Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sirf Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sof Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spear Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sprd Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sti Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
stm Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sunxi Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tegra Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ti ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings 2024-11-18 11:43:15 +01:00
txx9 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uniphier Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ux500 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xilinx Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
xtensa Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
zte Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-ac97.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-acpi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-card.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-component.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-compress.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-dai.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-dapm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-devres.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-generic-dmaengine-pcm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-jack.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-link.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-ops.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-pcm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-topology.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
soc-utils.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00