Messages in this thread Patch in this message | | | Subject | [PATCH] mfd: fix a bug in the asic3 irq demux code | From | Philipp Zabel <> | Date | Wed, 02 Jul 2008 19:42:53 +0200 |
| |
Wrong irq numbers were given to desc->handle_irq, which on some devices caused endless loops (asic3_irq_demux calling itself, basically).
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> --- drivers/mfd/asic3.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c index 8e41130..59ec9c6 100644 --- a/drivers/mfd/asic3.c +++ b/drivers/mfd/asic3.c @@ -308,7 +308,7 @@ static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc) for (i = ASIC3_NUM_GPIOS; i < ASIC3_NR_IRQS; i++) { /* They start at bit 4 and go up */ if (status & (1 << (i - ASIC3_NUM_GPIOS + 4))) { - desc = irq_desc + + i; + desc = irq_desc + asic->irq_base + i; desc->handle_irq(asic->irq_base + i, desc); } -- 1.5.6
| |