diff options
author | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2009-03-05 19:33:12 +0000 |
---|---|---|
committer | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2009-03-05 19:33:12 +0000 |
commit | bba113ec073f744cfaf53a59f2712319dae181ec (patch) | |
tree | 4ffe98ca0daf8ca094fa6c93571094fc21f4cca9 /util/flashrom/en29f002a.c | |
parent | ac12ecd27a8e32a02193ea22dc36c89a060cc22e (diff) |
If get_pbus() is called for a device which has no parent/ancestor bus
with nonzero PCI bus operations, get_pbus() will get stuck in a silent
endless loop.
Detect the endless loop and break out with an error message.
Such a situation can happen if the device tree is not yet
initialized/walked completely.
This fixes the unexplainable hang if pci_{read,write}_config{8,16,32}was
used in early mainboard code for the AMD DBM690T. Instead, the code will
now die() with a meaningful error message.
Thanks to Ward Vandewege for testing my patches to track down that bug.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Marc Jones <marcj303@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3972 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/flashrom/en29f002a.c')
0 files changed, 0 insertions, 0 deletions