cvs commit: src/sys/dev/acpica acpi_pci_link.c
jhb at FreeBSD.org
Mon Nov 21 22:01:19 GMT 2005
jhb 2005-11-21 22:01:16 UTC
FreeBSD src repository
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
Revision Changes Path
1.49 +15 -3 src/sys/dev/acpica/acpi_pci_link.c
More information about the cvs-src