X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fbrcm47xx%2Fpatches-3.6%2F183-bcma-mips-show-also-disabled-irqs.patch;h=d44b3068e701debae22e3d2adc9ccd56da21faec;hp=6606970e698d1ddfee80bbea137168132fa16655;hb=c7b19c2d0c053ca21b7287c2fe0c16fbd3b9f4d4;hpb=3ebc20ac9e4248abcb38db30054756a0688faf2d diff --git a/target/linux/brcm47xx/patches-3.6/183-bcma-mips-show-also-disabled-irqs.patch b/target/linux/brcm47xx/patches-3.6/183-bcma-mips-show-also-disabled-irqs.patch index 6606970e69..d44b3068e7 100644 --- a/target/linux/brcm47xx/patches-3.6/183-bcma-mips-show-also-disabled-irqs.patch +++ b/target/linux/brcm47xx/patches-3.6/183-bcma-mips-show-also-disabled-irqs.patch @@ -18,27 +18,25 @@ */ unsigned int bcma_core_mips_irq(struct bcma_device *dev) { -@@ -88,13 +93,18 @@ unsigned int bcma_core_mips_irq(struct b +@@ -88,13 +93,15 @@ unsigned int bcma_core_mips_irq(struct b unsigned int irq; irqflag = bcma_core_mips_irqflag(dev); + if (irqflag == 0x3f) + return 6; - for (irq = 1; irq <= 4; irq++) +- for (irq = 1; irq <= 4; irq++) ++ for (irq = 0; irq <= 4; irq++) if (bcma_read32(mdev, BCMA_MIPS_MIPS74K_INTMASK(irq)) & (1 << irqflag)) return irq; - return 0; -+ if ((1 << irqflag) & bcma_read32(mdev, BCMA_MIPS_MIPS74K_INTMASK(0))) -+ return 0; -+ + return 5; } EXPORT_SYMBOL(bcma_core_mips_irq); -@@ -115,7 +125,7 @@ static void bcma_core_mips_set_irq(struc +@@ -115,7 +122,7 @@ static void bcma_core_mips_set_irq(struc bcma_write32(mdev, BCMA_MIPS_MIPS74K_INTMASK(0), bcma_read32(mdev, BCMA_MIPS_MIPS74K_INTMASK(0)) & ~(1 << irqflag)); @@ -47,3 +45,12 @@ bcma_write32(mdev, BCMA_MIPS_MIPS74K_INTMASK(oldirq), 0); /* assign the new one */ +@@ -145,7 +152,7 @@ static void bcma_core_mips_set_irq(struc + } + + bcma_debug(bus, "set_irq: core 0x%04x, irq %d => %d\n", +- dev->id.id, oldirq + 2, irq + 2); ++ dev->id.id, oldirq <= 4 ? oldirq + 2 : 0, irq + 2); + } + + static void bcma_core_mips_set_irq_name(struct bcma_bus *bus, unsigned int irq,