Messages in this thread Patch in this message | | | Date | Wed, 2 Nov 2011 19:02:35 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH] genirq: spurious.c: fix regression that broke irqfixup,irqpoll |
| |
On Tue, 1 Nov 2011, edward.donovan@numble.net wrote:
> From: Edward Donovan <edward.donovan@numble.net> > > commit d05c65fff0 ("genirq: spurious: Run only one poller at a time") > introduced a regression, leaving the boot options 'irqfixup' and > 'irqpoll' non-functional. The patch placed tests in each function, to > exit if the function is already running. The test in 'misrouted_irq' > exited when it should have proceeded, effectively disabling > 'misrouted_irq' and 'poll_spurious_irqs'. Reversing the "==" operator > to "!=" fixes the regression. > > Signed-off-by: Edward Donovan <edward.donovan@numble.net>
Good catch! I was staring at it with my conference and flu damaged brain ....
Thanks,
tglx
> --- > kernel/irq/spurious.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c > index aa57d5d..b5f4742 100644 > --- a/kernel/irq/spurious.c > +++ b/kernel/irq/spurious.c > @@ -115,7 +115,7 @@ static int misrouted_irq(int irq) > struct irq_desc *desc; > int i, ok = 0; > > - if (atomic_inc_return(&irq_poll_active) == 1) > + if (atomic_inc_return(&irq_poll_active) != 1) > goto out; > > irq_poll_cpu = smp_processor_id(); > -- > 1.7.5.4 > >
| |