diff options
Diffstat (limited to 'target/linux/brcm47xx/patches-3.0/0019-bcma-to-not-route-irqs-on-non-pci-devices.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.0/0019-bcma-to-not-route-irqs-on-non-pci-devices.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.0/0019-bcma-to-not-route-irqs-on-non-pci-devices.patch b/target/linux/brcm47xx/patches-3.0/0019-bcma-to-not-route-irqs-on-non-pci-devices.patch new file mode 100644 index 0000000000..685dcdecfd --- /dev/null +++ b/target/linux/brcm47xx/patches-3.0/0019-bcma-to-not-route-irqs-on-non-pci-devices.patch @@ -0,0 +1,29 @@ +From 1b23f310d4a7d24efe5dffbbde6b2b84252e2d7b Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens <hauke@hauke-m.de> +Date: Fri, 22 Jul 2011 14:18:21 +0200 +Subject: [PATCH 19/22] bcma: to not route irqs on non pci devices + + +Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> +--- + drivers/bcma/driver_pci.c | 9 ++++++++- + 1 files changed, 8 insertions(+), 1 deletions(-) + +--- a/drivers/bcma/driver_pci.c ++++ b/drivers/bcma/driver_pci.c +@@ -208,7 +208,14 @@ int bcma_core_pci_irq_ctl(struct bcma_dr + { + struct pci_dev *pdev = pc->core->bus->host_pci; + u32 coremask, tmp; +- int err; ++ int err = 0; ++ ++ if (core->bus->hosttype != BCMA_HOSTTYPE_PCI) { ++ /* This bcma 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; ++ } + + err = pci_read_config_dword(pdev, BCMA_PCI_IRQMASK, &tmp); + if (err) |