summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-11-21 22:01:16 +0000
committerjhb <jhb@FreeBSD.org>2005-11-21 22:01:16 +0000
commita6da623025dcec2e0e4fcb5f210ca741274546bf (patch)
tree65d18a508949361669ea59bddaa4d1f696790745 /sbin
parent26ea846ce92cc9968c0389039966c0d8b1c358cf (diff)
downloadFreeBSD-src-a6da623025dcec2e0e4fcb5f210ca741274546bf.zip
FreeBSD-src-a6da623025dcec2e0e4fcb5f210ca741274546bf.tar.gz
Fix the code to look up the BIOS IRQ for a given link device by reading
the IRQ set by the BIOS in existing devices to actually get the correct bus number of the child PCI bus. I was not reading the bus number from the bridge device correctly. The __BUS_ACCESSOR() macros (from which pcib_get_bus() is built) assume that the passed in argument is a child device. However, at the time I'm reading the bus there is no child device yet, so I was passing in the pcib device as the child device. The parent of the pcib device probably returned an error in the case of a host bridge, thus resulting in random stack garbage for the bus number. For PCI-PCI bridges, the bus number being used was actually the subvendor of the PCI-PCI bridge device itself. MFC after: 1 week
Diffstat (limited to 'sbin')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud