mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-13 04:39:36 +02:00
ASoC: amd: Adjust error handling in case of absent codec device
[ Upstream commit5080808c33
] acpi_get_first_physical_node() can return NULL in several cases (no such device, ACPI table error, reference count drop to 0, etc). Existing check just emit error message, but doesn't perform return. Then this NULL pointer is passed to devm_acpi_dev_add_driver_gpios() where it is dereferenced. Adjust this error handling by adding error code return. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes:02527c3f23
("ASoC: amd: add Machine driver for Jadeite platform") Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru> Link: https://patch.msgid.link/20240703191007.8524-1-amishin@t-argos.ru Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
3dbfcd4d68
commit
99b642dac2
|
@ -203,8 +203,10 @@ static int st_es8336_late_probe(struct snd_soc_card *card)
|
||||||
|
|
||||||
codec_dev = acpi_get_first_physical_node(adev);
|
codec_dev = acpi_get_first_physical_node(adev);
|
||||||
acpi_dev_put(adev);
|
acpi_dev_put(adev);
|
||||||
if (!codec_dev)
|
if (!codec_dev) {
|
||||||
dev_err(card->dev, "can not find codec dev\n");
|
dev_err(card->dev, "can not find codec dev\n");
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
ret = devm_acpi_dev_add_driver_gpios(codec_dev, acpi_es8336_gpios);
|
ret = devm_acpi_dev_add_driver_gpios(codec_dev, acpi_es8336_gpios);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user