[PATCH] pci: re-add isa bridge setup

The switch to the two-pass pci initialization dropped the isa bridge initialization by accident. That broke interrupts on FreeBSD 4.4 and maybe also other older guests which don't use ACPI for IRQ routing setup. Add the bits back in. Cc: Bjørn Mork <bjorn@mork.no> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- src/pciinit.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/pciinit.c b/src/pciinit.c index 6331fdf..597c8ea 100644 --- a/src/pciinit.c +++ b/src/pciinit.c @@ -607,6 +607,11 @@ pci_setup(void) pci_bios_init_device_in_bus(0 /* host bus */); + struct pci_device *pci; + foreachpci(pci) { + pci_init_device(pci_isa_bridge_tbl, pci, NULL); + } + free(busses); busses_count = 0; } -- 1.7.1

Gerd Hoffmann <kraxel@redhat.com> writes:
The switch to the two-pass pci initialization dropped the isa bridge initialization by accident. That broke interrupts on FreeBSD 4.4 and maybe also other older guests which don't use ACPI for IRQ routing setup. Add the bits back in.
Cc: Bjørn Mork <bjorn@mork.no> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Thanks for the quick analysis and fix. Tested and verified that this patch fixes the problem for me, as expected. Feel free to add Tested-by: Bjørn Mork <bjorn@mork.no> if that matters to anyone. Bjørn

On Tue, Aug 09, 2011 at 05:22:42PM +0200, Gerd Hoffmann wrote:
The switch to the two-pass pci initialization dropped the isa bridge initialization by accident. That broke interrupts on FreeBSD 4.4 and maybe also other older guests which don't use ACPI for IRQ routing setup. Add the bits back in.
Thanks. I applied this. -Kevin
participants (3)
-
Bjørn Mork
-
Gerd Hoffmann
-
Kevin O'Connor