ssb-pcicore: Fix IRQ-vector init on embedded devices

On embedded devices we must not route the interrupts through
the PCI core, if our host-bus is not PCI.

Reported-by: Steve Brown <sbrown@cortland.com>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Michael Buesch 2008-07-04 23:44:37 +02:00 committed by John W. Linville
parent 9dfd55008e
commit 9e095a687b

View file

@ -537,6 +537,13 @@ int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc,
int err = 0; int err = 0;
u32 tmp; u32 tmp;
if (dev->bus->bustype != SSB_BUSTYPE_PCI) {
/* This SSB device is not on a PCI host-bus. So the IRQs are
* not routed through the PCI core.
* So we must not enable routing through the PCI core. */
goto out;
}
if (!pdev) if (!pdev)
goto out; goto out;
bus = pdev->bus; bus = pdev->bus;