--- /dev/null
+From 1dd75f91ae713049eb6baaa640078f3a6549e522 Mon Sep 17 00:00:00 2001
+From: "jhbird.choi@samsung.com" <jhbird.choi@samsung.com>
+Date: Thu, 21 Jul 2011 15:29:14 +0900
+Subject: genirq: Fix wrong bit operation
+
+From: "jhbird.choi@samsung.com" <jhbird.choi@samsung.com>
+
+commit 1dd75f91ae713049eb6baaa640078f3a6549e522 upstream.
+
+(!msk & 0x01) should be !(msk & 0x01)
+
+Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
+Link: http://lkml.kernel.org/r/1311229754-6003-1-git-send-email-jhbird.choi@samsung.com
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ kernel/irq/generic-chip.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/kernel/irq/generic-chip.c
++++ b/kernel/irq/generic-chip.c
+@@ -246,7 +246,7 @@ void irq_setup_generic_chip(struct irq_c
+ 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_
+ 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 */