sound/soc/codecs/cs35l41.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
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>
---
sound/soc/codecs/cs35l41.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c
index 173d7c59b725..5001a546a3e7 100644
--- a/sound/soc/codecs/cs35l41.c
+++ b/sound/soc/codecs/cs35l41.c
@@ -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;
}
--
2.52.0
On Sun, 07 Dec 2025 03:38:12 +0800, Eric Naim wrote:
> 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
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/1] ASoC: cs35l41: Always return 0 when a subsystem ID is found
commit: b0ff70e9d4fe46cece25eb97b9b9b0166624af95
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
On 06/12/2025 7:38 pm, Eric Naim wrote:
> 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>
> ---
> sound/soc/codecs/cs35l41.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c
> index 173d7c59b725..5001a546a3e7 100644
> --- a/sound/soc/codecs/cs35l41.c
> +++ b/sound/soc/codecs/cs35l41.c
> @@ -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;
> }
>
Reviewed-by: Richard Fitzgerald <rf@opensource.cirrus.com>
© 2016 - 2025 Red Hat, Inc.