lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ