]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Jan 2026 09:16:54 +0000 (10:16 +0100)
commit b0ff70e9d4fe46cece25eb97b9b9b0166624af95 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/soc/codecs/cs35l41.c

index 173d7c59b7254d0674af1f036ac377701be12013..5001a546a3e75001a7416de01b17a48f917ffe35 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;
 }