Messages in this thread | | | Date | Thu, 3 Jul 2008 11:25:35 +0200 | From | Samuel Ortiz <> | Subject | Re: [PATCH] mfd: fix a bug in the asic3 irq demux code |
| |
Hi Philipp,
On Wed, Jul 02, 2008 at 07:42:53PM +0200, Philipp Zabel wrote: > Wrong irq numbers were given to desc->handle_irq, which > on some devices caused endless loops (asic3_irq_demux > calling itself, basically). Thanks, applied to my mfd tree.
Cheers, Samuel.
> 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 > >
| |