diff mbox series

[v2] sound: soc: codec: tlv320adcx140: fix 'ti,gpio-config' DT property init

Message ID 20230213073805.14640-1-alex@shruggie.ro (mailing list archive)
State Accepted
Commit 771725efe5e2e5396dd9d1220437e5f9d6b9ca9d
Headers show
Series [v2] sound: soc: codec: tlv320adcx140: fix 'ti,gpio-config' DT property init | expand

Commit Message

Alexandru Ardelean Feb. 13, 2023, 7:38 a.m. UTC
From: Steffen Aschbacher <steffen.aschbacher@stihl.de>

When the 'ti,gpio-config' property is not defined, the
device_property_count_u32() will return an error, rather than zero.

The current check, only handles a return value of zero, which assumes that
the property is defined and has nothing defined.

This change extends the check to also check for an error case (most likely
to be hit by the case that the 'ti,gpio-config' is not defined).

In case that the 'ti,gpio-config' and the returned 'gpio_count' is not
correct, there is a 'if (gpio_count != ADCX140_NUM_GPIO_CFGS)' check, a few
lines lower that will return -EINVAL.
This means that someone tried to define 'ti,gpio-config', but with the
wrong number of GPIOs.

Fixes: d5214321498a ("ASoC: tlv320adcx140: Add support for configuring GPIO pin")
Signed-off-by: Steffen Aschbacher <steffen.aschbacher@stihl.de>
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
---

Changelog v1 -> v2:
* https://lore.kernel.org/alsa-devel/20230211191315.24554-1-alex@shruggie.ro/
* Added 'Fixes:' tag; forgot it on the first patch (getting rusty with this)

 sound/soc/codecs/tlv320adcx140.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mark Brown Feb. 13, 2023, 4:18 p.m. UTC | #1
On Mon, 13 Feb 2023 09:38:05 +0200, Alexandru Ardelean wrote:
> When the 'ti,gpio-config' property is not defined, the
> device_property_count_u32() will return an error, rather than zero.
> 
> The current check, only handles a return value of zero, which assumes that
> the property is defined and has nothing defined.
> 
> This change extends the check to also check for an error case (most likely
> to be hit by the case that the 'ti,gpio-config' is not defined).
> 
> [...]

Applied to

   broonie/sound.git for-next

Thanks!

[1/1] sound: soc: codec: tlv320adcx140: fix 'ti,gpio-config' DT property init
      commit: 771725efe5e2e5396dd9d1220437e5f9d6b9ca9d

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
diff mbox series

Patch

diff --git a/sound/soc/codecs/tlv320adcx140.c b/sound/soc/codecs/tlv320adcx140.c
index 91a22d927915..530f321d08e9 100644
--- a/sound/soc/codecs/tlv320adcx140.c
+++ b/sound/soc/codecs/tlv320adcx140.c
@@ -925,7 +925,7 @@  static int adcx140_configure_gpio(struct adcx140_priv *adcx140)
 
 	gpio_count = device_property_count_u32(adcx140->dev,
 			"ti,gpio-config");
-	if (gpio_count == 0)
+	if (gpio_count <= 0)
 		return 0;
 
 	if (gpio_count != ADCX140_NUM_GPIO_CFGS)