]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: cs35l41: check the return value from spi_setup()
authorVitaliy Shevtsov <v.shevtsov@mt-integration.ru>
Tue, 4 Mar 2025 11:56:37 +0000 (16:56 +0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:33:31 +0000 (14:33 +0200)
[ Upstream commit ad5a0970f86d82e39ebd06d45a1f7aa48a1316f8 ]

Currently the return value from spi_setup() is not checked for a failure.
It is unlikely it will ever fail in this particular case but it is still
better to add this check for the sake of completeness and correctness. This
is cheap since it is performed once when the device is being probed.

Handle spi_setup() return value.

Found by Linux Verification Center (linuxtesting.org) with Svace.

Fixes: 872fc0b6bde8 ("ASoC: cs35l41: Set the max SPI speed for the whole device")
Signed-off-by: Vitaliy Shevtsov <v.shevtsov@mt-integration.ru>
Link: https://patch.msgid.link/20250304115643.2748-1-v.shevtsov@mt-integration.ru
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/codecs/cs35l41-spi.c

index 5c8bb24909eb40596142cd3fdfe9f22880288fff..bd73944758c6dfa594b9e3daae9446592449e1ae 100644 (file)
@@ -39,7 +39,9 @@ static int cs35l41_spi_probe(struct spi_device *spi)
                return -ENOMEM;
 
        spi->max_speed_hz = CS35L41_SPI_MAX_FREQ;
-       spi_setup(spi);
+       ret = spi_setup(spi);
+       if (ret < 0)
+               return ret;
 
        spi_set_drvdata(spi, cs35l41);
        cs35l41->regmap = devm_regmap_init_spi(spi, regmap_config);