From 98d19572b175ad44a83614cdf2c57ed0ba94a733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Thu, 4 Jul 2019 13:15:01 +0300 Subject: device/oprom: Replace uses of dev_find_slot() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The call to dev_find_slot() may return PCI devices that are disabled or unaccessible, as PCI enumeration does not remove nodes from all_devices linked list. Use PCI topology search instead. Change-Id: I00233177e5572ca79002a7d141cda1b94b966330 Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/34083 Reviewed-by: Mike Banon Reviewed-by: Paul Menzel Tested-by: build bot (Jenkins) --- src/device/oprom/realmode/x86_interrupts.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/device/oprom/realmode') diff --git a/src/device/oprom/realmode/x86_interrupts.c b/src/device/oprom/realmode/x86_interrupts.c index 2629ab9166..8e3a51e450 100644 --- a/src/device/oprom/realmode/x86_interrupts.c +++ b/src/device/oprom/realmode/x86_interrupts.c @@ -174,7 +174,7 @@ int int1a_handler(void) devfn = X86_EBX & 0xff; bus = X86_EBX >> 8; reg = X86_EDI; - dev = dev_find_slot(bus, devfn); + dev = pcidev_path_on_bus(bus, devfn); if (!dev) { printk(BIOS_DEBUG, "0x%x: BAD DEVICE bus %d devfn 0x%x\n", func, bus, devfn); // Or are we supposed to return PCIBIOS_NODEV? -- cgit v1.2.3