diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2019-09-26 14:45:29 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-09-30 11:38:08 +0000 |
commit | 45ffee83464156a58a57570b22ba35ab2859e532 (patch) | |
tree | 1b67e73e0a7e432852b8a1065c935789b15829a1 | |
parent | 6ba9b5a86f0cf1362fa07079912a10a99ad9b079 (diff) |
soc/intel/skylake: Fix ACPI exception AE_NOT_FOUND
Make sure to match devices on the root bus only. This fixes an issue
where the SoC returned "MCHC" as ACPI name for devices behind bridge
devices, as the DEVFN matched.
Fixes observed "ACPI exception: AE_NOT_FOUND" in dmesg, as the ACPI
path no longer contains invalid names.
Tested on Supermicro X11SSH-TF.
Change-Id: I6eca37a1792287502a46a90144f2f0d8e12ae5d4
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35621
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r-- | src/soc/intel/skylake/acpi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/soc/intel/skylake/acpi.c b/src/soc/intel/skylake/acpi.c index c3757b0bd3..d67b502ac8 100644 --- a/src/soc/intel/skylake/acpi.c +++ b/src/soc/intel/skylake/acpi.c @@ -760,6 +760,10 @@ const char *soc_acpi_name(const struct device *dev) if (dev->path.type != DEVICE_PATH_PCI) return NULL; + /* Only match devices on the root bus */ + if (dev->bus && dev->bus->secondary > 0) + return NULL; + switch (dev->path.pci.devfn) { case SA_DEVFN_ROOT: return "MCHC"; case SA_DEVFN_IGD: return "GFX0"; |