diff options
author | Keyon Jie <[email protected]> | 2018-11-16 18:47:04 -0600 |
---|---|---|
committer | Mark Brown <[email protected]> | 2018-11-20 16:53:17 +0000 |
commit | a3e620f8422832afd832ad5e20aa97d0c72bada8 (patch) | |
tree | 152329c667978e64a8aba61d2830fa16eb5d797c | |
parent | 8c4e7c2ee8096b5ca8214418f287b3878d578cc0 (diff) |
ASoC: acpi: fix: continue searching when machine is ignored
The machine_quirk may return NULL which means the acpi entries should be
skipped and search for next matched entry is needed, here add return
check here and continue for NULL case.
Signed-off-by: Keyon Jie <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
-rw-r--r-- | sound/soc/soc-acpi.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sound/soc/soc-acpi.c b/sound/soc/soc-acpi.c index b8e72b52db30..4fb29f0e561e 100644 --- a/sound/soc/soc-acpi.c +++ b/sound/soc/soc-acpi.c @@ -10,11 +10,17 @@ struct snd_soc_acpi_mach * snd_soc_acpi_find_machine(struct snd_soc_acpi_mach *machines) { struct snd_soc_acpi_mach *mach; + struct snd_soc_acpi_mach *mach_alt; for (mach = machines; mach->id[0]; mach++) { if (acpi_dev_present(mach->id, NULL, -1)) { - if (mach->machine_quirk) - mach = mach->machine_quirk(mach); + if (mach->machine_quirk) { + mach_alt = mach->machine_quirk(mach); + if (!mach_alt) + continue; /* not full match, ignore */ + mach = mach_alt; + } + return mach; } } |