cvs commit: src/sys/dev/acpica acpi_pci_link.c
jhb at freebsd.org
Tue Nov 22 18:04:11 GMT 2005
On Tuesday 22 November 2005 09:37 am, Ruslan Ermilov wrote:
> On Mon, Nov 21, 2005 at 10:01:16PM +0000, John Baldwin wrote:
> > 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
> Looks like I no longer need these hw.pci.link.LNK[A-D].irq=11
> in /boot/loader.conf after this change.
Woah, that's a good fix then. This was on a T43?
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the cvs-all