All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86_fixup_irqs: Fix possible missing interrupt handle when disabling CPU
@ 2012-03-26  7:11 Liu, Chuansheng
  2012-03-28  5:38 ` Yanmin Zhang
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Liu, Chuansheng @ 2012-03-26  7:11 UTC (permalink / raw)
  To: linux-kernel@vger.kernel.org; +Cc: Yanmin Zhang, tglx@linutronix.de

From: liu chuansheng <chuansheng.liu@intel.com>
Subject: [PATCH] x86_fixup_irqs: Fix possible missing interrupt handle when disabling CPU

When preparing to unmask the irq in fixup_irqs(), using irqd_irq_masked()
as the condition to determine if do real unmasking action or not.

Because in some chips, the .irq_disable is NULL, so calling disable_irq()
does not mean the irq is masked immediately, and before enable_irq() if
the irq is coming, it can be pending state. Using irqd_irq_disabled() will
lose this chance.

Signed-off-by: liu chuansheng <chuansheng.liu@intel.com>
---
 arch/x86/kernel/irq.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 6c0802e..b9dd37f 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -277,7 +277,7 @@ void fixup_irqs(void)
                        set_affinity = 0;
 
                if (!irqd_can_move_in_process_context(data) &&
-                   !irqd_irq_disabled(data) && chip->irq_unmask)
+                   !irqd_irq_masked(data) && chip->irq_unmask)
                        chip->irq_unmask(data);
 
                raw_spin_unlock(&desc->lock);
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-03-29 13:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-26  7:11 [PATCH] x86_fixup_irqs: Fix possible missing interrupt handle when disabling CPU Liu, Chuansheng
2012-03-28  5:38 ` Yanmin Zhang
2012-03-28 13:16   ` Srivatsa S. Bhat
2012-03-29 10:19   ` Thomas Gleixner
2012-03-29 10:29 ` [tip:x86/urgent] x86: Preserve lazy irq disable semantics in fixup_irqs() tip-bot for Liu, Chuansheng
2012-03-29 13:48 ` tip-bot for Liu, Chuansheng

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.