summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-3.0/0019-bcma-to-not-route-irqs-on-non-pci-devices.patch
diff options
context:
space:
mode:
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.patch29
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)