[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260120161200.3590305-2-ikizmaylov@salutedevices.com>
Date: Tue, 20 Jan 2026 19:11:57 +0300
From: Ilias Izmaylov <ikizmaylov@...utedevices.com>
To: Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>, Igor Prusov
<ivprusov@...utedevices.com>, Chen Ni <nichen@...as.ac.cn>
CC: <kernel@...utedevices.com>, Ilias Izmaylov <ikizmaylov@...utedevices.com>,
<linux-sound@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<rulkc@...uxtesting.org>
Subject: [PATCH v1 1/2] ASoC: codecs: ntp8918: fix snd_soc_component_update_bits handling
Add less-than-0 snd_soc_component_update_bits checks to determine
whether it resulted in error or not, since if it returns a positive
number it doesn't mean that there was a failure - only a negative
result indicates an error
Fixes: 2bd61fff3e93b ("ASoC: codecs: Add NeoFidelity NTP8918 codec")
Signed-off-by: Ilias Izmaylov <ikizmaylov@...utedevices.com>
---
sound/soc/codecs/ntp8918.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/sound/soc/codecs/ntp8918.c b/sound/soc/codecs/ntp8918.c
index 5593d48ef696f..cc672fd93def4 100644
--- a/sound/soc/codecs/ntp8918.c
+++ b/sound/soc/codecs/ntp8918.c
@@ -233,7 +233,7 @@ static int ntp8918_hw_params(struct snd_pcm_substream *substream,
ret = snd_soc_component_update_bits(component, NTP8918_MCLK_FREQ_CTRL,
NTP8918_MCLK_FREQ_MCF, mcf);
- if (ret)
+ if (ret < 0)
return ret;
switch (ntp8918->format) {
@@ -276,8 +276,11 @@ static int ntp8918_hw_params(struct snd_pcm_substream *substream,
gsa_fmt_mask = NTP8918_GSA_BS_MASK |
NTP8918_GSA_RIGHT_J |
NTP8918_GSA_LSB;
- return snd_soc_component_update_bits(component, NTP8918_GSA_FMT,
- gsa_fmt_mask, gsa_fmt);
+
+ ret = snd_soc_component_update_bits(component, NTP8918_GSA_FMT,
+ gsa_fmt_mask, gsa_fmt);
+
+ return ret < 0 ? ret : 0;
}
static int ntp8918_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
@@ -302,8 +305,12 @@ static int ntp8918_digital_mute(struct snd_soc_dai *dai, int mute, int stream)
unsigned int mute_mask = NTP8918_SOFT_MUTE_SM1 |
NTP8918_SOFT_MUTE_SM2;
- return snd_soc_component_update_bits(dai->component, NTP8918_SOFT_MUTE,
- mute_mask, mute ? mute_mask : 0);
+ int ret = snd_soc_component_update_bits(dai->component,
+ NTP8918_SOFT_MUTE,
+ mute_mask,
+ mute ? mute_mask : 0);
+
+ return ret < 0 ? ret : 0;
}
static const struct snd_soc_dai_ops ntp8918_dai_ops = {
--
2.47.3
Powered by blists - more mailing lists