ASoC: tlv320adc3xxx: Fix buggy return value

snd_soc_component_update_bits returns 1 if the operation was
successful and some bits were changed, so we cannot
return this value directly as it can be interpreted
as an error. Instead, do some minor mangling to avoid
inadvertently returning an error.

Signed-off-by: Ricard Wanderlof <ricardw@axis.com>
Link: https://lore.kernel.org/r/alpine.DEB.2.21.2202241021420.20760@lnxricardw1.se.axis.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Ricard Wanderlof 2022-02-24 10:29:05 +01:00 committed by Mark Brown
parent c07ac3ee76
commit eb8b5af702
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -1111,6 +1111,7 @@ static int adc3xxx_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
struct adc3xxx *adc3xxx = snd_soc_component_get_drvdata(component);
u8 clkdir = 0, format = 0;
int master = 0;
int ret;
/* set master/slave audio interface */
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
@ -1161,10 +1162,13 @@ static int adc3xxx_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
adc3xxx->master = master;
/* set clock direction and format */
return snd_soc_component_update_bits(component,
ADC3XXX_INTERFACE_CTRL_1,
ADC3XXX_CLKDIR_MASK | ADC3XXX_FORMAT_MASK,
clkdir | format);
ret = snd_soc_component_update_bits(component,
ADC3XXX_INTERFACE_CTRL_1,
ADC3XXX_CLKDIR_MASK | ADC3XXX_FORMAT_MASK,
clkdir | format);
if (ret < 0)
return ret;
return 0;
}
static const struct snd_soc_dai_ops adc3xxx_dai_ops = {