diff options
author | Venkata Prasad Potturu <venkataprasad.potturu@amd.com> | 2024-12-10 10:10:25 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-12-10 13:44:15 +0100 |
commit | 984795e76def5c903724b8d6a8228e356bbdf2af (patch) | |
tree | b96e497096280bbff2bf5d30bd70483f30d2c23c | |
parent | Linux 6.13-rc2 (diff) | |
download | linux-984795e76def5c903724b8d6a8228e356bbdf2af.tar.xz linux-984795e76def5c903724b8d6a8228e356bbdf2af.zip |
ASoC: amd: yc: Fix the wrong return value
With the current implementation, when ACP driver fails to read
ACPI _WOV entry then the DMI overrides code won't invoke,
may cause regressions for some BIOS versions.
Add a condition check to jump to check the DMI entries incase of
ACP driver fail to read ACPI _WOV method.
Fixes: 4095cf872084 (ASoC: amd: yc: Fix for enabling DMIC on acp6x via _DSD entry)
Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com>
Link: https://patch.msgid.link/20241210091026.996860-1-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/amd/yc/acp6x-mach.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c index e38c5885dadf..ecf57a6cb7c3 100644 --- a/sound/soc/amd/yc/acp6x-mach.c +++ b/sound/soc/amd/yc/acp6x-mach.c @@ -578,14 +578,19 @@ static int acp6x_probe(struct platform_device *pdev) handle = ACPI_HANDLE(pdev->dev.parent); ret = acpi_evaluate_integer(handle, "_WOV", NULL, &dmic_status); - if (!ACPI_FAILURE(ret)) + if (!ACPI_FAILURE(ret)) { wov_en = dmic_status; + if (!wov_en) + return -ENODEV; + } else { + /* Incase of ACPI method read failure then jump to check_dmi_entry */ + goto check_dmi_entry; + } - if (is_dmic_enable && wov_en) + if (is_dmic_enable) platform_set_drvdata(pdev, &acp6x_card); - else - return 0; +check_dmi_entry: /* check for any DMI overrides */ dmi_id = dmi_first_match(yc_acp_quirk_table); if (dmi_id) |