coreboot-kgpe-d16/payloads/libpayload/drivers
Lee Leahy e32b6e7196 libpayload: PCI bus scan - Eliminate endless loop
Don't attempt to scan the PCI bus if the bridge is disabled.  When
the PCI bridge is not setup and enabled, it is possible for the
secondary bus register to contain the value zero (0).  In this case
the usb_scan_pci_bus routine gets into an infinite recursive loop
which ends only when the heap or stack is exhausted.  This patch
verifies that the PCI bridge is enabled by verifying that it is
enabled for either memory or I/O operations.  When enabled, the
secondary bus is scanned.

BRANCH=none
BUG=None
TEST=Build and run on Samus

Change-Id: I6826dc1d73b7c24729de5ac7c4d3534922ca73c5
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 63d04b47934761351b54c847a2692bdef81ce54f
Original-Change-Id: I855240c52fa3eba841e6754816ebbcb824abc4cd
Original-Signed-off-by: Lee Leahy <Leroy.P.Leahy@intel.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/236382
Original-Commit-Queue: Leroy P Leahy <leroy.p.leahy@intel.com>
Original-Tested-by: Leroy P Leahy <leroy.p.leahy@intel.com>
Original-Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: http://review.coreboot.org/8734
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-04-09 21:44:33 +02:00
..
serial libpayload: Add drivers for bg4cd 2015-04-08 09:32:21 +02:00
storage libpayload: Fix missed CONFIG_ -> CONFIG_LP_ substitutions 2014-10-17 11:24:15 +02:00
timer libpayload: Add drivers for bg4cd 2015-04-08 09:32:21 +02:00
usb libpayload: PCI bus scan - Eliminate endless loop 2015-04-09 21:44:33 +02:00
video libpayload: don't test for unsigned >= 0 2015-01-03 23:58:25 +01:00
Makefile.inc libpayload: Add drivers for bg4cd 2015-04-08 09:32:21 +02:00
cbmem_console.c libpayload: console: Allow output drivers to print whole strings at once 2014-12-22 21:44:37 +01:00
hid.c
keyboard.c libpayload: Change CONFIG_* to CONFIG_LP_* in the kconfig. 2014-08-05 18:44:08 +02:00
nvram.c libpayload: Change CONFIG_* to CONFIG_LP_* in the kconfig. 2014-08-05 18:44:08 +02:00
options.c libpayload/options: Fix out of array read. 2014-01-19 11:51:23 +01:00
pci.c
serial.c libpayload: Add minimal support for PL011 UART 2014-11-13 06:23:17 +01:00
speaker.c