]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: cs35l41: Always return 0 when a subsystem ID is found
authorEric Naim <dnaim@cachyos.org>
Sat, 6 Dec 2025 19:38:12 +0000 (03:38 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 9 Dec 2025 03:34:07 +0000 (12:34 +0900)
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>
sound/soc/codecs/cs35l41.c

index 3a8a8dd065b772bfb2e50a39bd19dd851e525ab8..ee56dfceedeb0abcf00bc8cedc4c81cf086a3a85 100644 (file)
@@ -1188,13 +1188,14 @@ static int cs35l41_get_system_name(struct cs35l41_private *cs35l41)
                }
        }
 
-err:
        if (sub) {
                cs35l41->dsp.system_name = sub;
                dev_info(cs35l41->dev, "Subsystem ID: %s\n", cs35l41->dsp.system_name);
-       } else
-               dev_warn(cs35l41->dev, "Subsystem ID not found\n");
+               return 0;
+       }
 
+err:
+       dev_warn(cs35l41->dev, "Subsystem ID not found\n");
        return ret;
 }