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:
Родитель
9dfd55008e
Коммит
9e095a687b
|
@ -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;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче