From da21de09be4fabec9f06b26256cbc51450ae57a7 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Tue, 26 Jul 2011 20:14:44 +1000 Subject: [PATCH] Unless I'm very much missing something these tests are intended to check if bit zero is set, rather than checking if msk is entirely zero (in which case the logic would be very confusing. I haven't actually observed any runtime issues so this may be a misreading of the code on my part. Signed-off-by: Mark Brown Cc: Thomas Gleixner Signed-off-by: Andrew Morton --- kernel/irq/generic-chip.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c index 3a2cab407b93..e38544dddb18 100644 --- a/kernel/irq/generic-chip.c +++ b/kernel/irq/generic-chip.c @@ -246,7 +246,7 @@ void irq_setup_generic_chip(struct irq_chip_generic *gc, u32 msk, gc->mask_cache = irq_reg_readl(gc->reg_base + ct->regs.mask); for (i = gc->irq_base; msk; msk >>= 1, i++) { - if (!msk & 0x01) + if (!(msk & 0x01)) continue; if (flags & IRQ_GC_INIT_NESTED_LOCK) @@ -301,7 +301,7 @@ void irq_remove_generic_chip(struct irq_chip_generic *gc, u32 msk, raw_spin_unlock(&gc_lock); for (; msk; msk >>= 1, i++) { - if (!msk & 0x01) + if (!(msk & 0x01)) continue; /* Remove handler first. That will mask the irq line */ -- 2.39.5