Date: Mon, 21 Nov 2005 22:01:16 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/acpica acpi_pci_link.c Message-ID: <200511212201.jALM1Ggp080941@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2005-11-21 22:01:16 UTC
FreeBSD src repository
Modified files:
sys/dev/acpica acpi_pci_link.c
Log:
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511212201.jALM1Ggp080941>
