Messages in this thread | | | Date | Wed, 2 Jul 2008 10:53:03 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] mfd: fix a bug in the asic3 irq demux code |
| |
On Wed, 02 Jul 2008 19:42:53 +0200 Philipp Zabel <philipp.zabel@gmail.com> wrote:
> 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); > }
hm, I seem to have a pile of mfd patches. I'll look to offload those on Samuel.
Samuel, will you be setting up an MFD git tree for linux-next? (You should, please).
| |