Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: cs35l41: Always return 0 when a subsystem ID is found

When trying to get the system name in the _HID path, after successfully
retrieving the subsystem ID the return value isn't set to 0 but instead
still kept at -ENODATA, leading to a false negative:

[ 12.382507] cs35l41 spi-VLV1776:00: Subsystem ID: VLV1776
[ 12.382521] cs35l41 spi-VLV1776:00: probe with driver cs35l41 failed with error -61

Always return 0 when a subsystem ID is found to mitigate these false
negatives.

Link: https://github.com/CachyOS/CachyOS-Handheld/issues/83
Fixes: 46c8b4d2a693 ("ASoC: cs35l41: Fallback to reading Subsystem ID property if not ACPI")
Cc: stable@vger.kernel.org # 6.18
Signed-off-by: Eric Naim <dnaim@cachyos.org>
Reviewed-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://patch.msgid.link/20251206193813.56955-1-dnaim@cachyos.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Eric Naim and committed by
Mark Brown
b0ff70e9 8fb81733

+4 -3
+4 -3
sound/soc/codecs/cs35l41.c
··· 1188 1188 } 1189 1189 } 1190 1190 1191 - err: 1192 1191 if (sub) { 1193 1192 cs35l41->dsp.system_name = sub; 1194 1193 dev_info(cs35l41->dev, "Subsystem ID: %s\n", cs35l41->dsp.system_name); 1195 - } else 1196 - dev_warn(cs35l41->dev, "Subsystem ID not found\n"); 1194 + return 0; 1195 + } 1197 1196 1197 + err: 1198 + dev_warn(cs35l41->dev, "Subsystem ID not found\n"); 1198 1199 return ret; 1199 1200 } 1200 1201