coreboot-kgpe-d16/payloads
Kyösti Mälkki 1dc5ce31ce coreinfo: Skip unpopulated PCI functions
Per PCI specification, function 0 must be present,
so functions 1 to 7 can be skipped in this case.

For a device that is not multi-function, it may not
decode function number in the hardware at all. To
avoid registering such a device eight times, skip
scanning functions 1 to 7.

Without the latter fix, a single-function PCI bridge
may call pci_scan_bus() second time and secondary
side devices would get appended second time in the
array devices[]. At that point, quicksort() apparently
hits an infinite recursion loop.

Since pci_scan_bus() is called in part of the early
modules->init() sequence early in main(), the errors
here left coreinfo payload completely silent when
PCI module was built-in on affected system.

Terminal screen was cleared, though.

Change-Id: Ifc6622f050b98afb7196de0cc3a863c4cdfa6c94
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/26990
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2018-06-14 07:59:05 +00:00
..
bayou payloads: change coreboot to lowercase 2017-06-07 12:08:55 +02:00
coreinfo coreinfo: Skip unpopulated PCI functions 2018-06-14 07:59:05 +00:00
external tint: change the tint download link from HTTP Debian to HTTPS FSF 2018-06-07 06:46:02 +00:00
libpayload libpayload/curses/{form,menu}: Fix uncountable "information" 2018-06-04 09:14:48 +00:00
nvramcui payloads/nvramcui/payload.sh: Fix shellcheck warnings 2018-01-24 23:01:35 +00:00
Kconfig payloads: Add an option to compress secondary payloads 2018-02-10 23:57:06 +00:00
Makefile.inc Revert "cbfs/payload type: Fix build warning and whitespace in name" 2018-05-16 04:50:55 +00:00