LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [patch] fix the irq migration
@ 2007-02-23  1:21 Siddha, Suresh B
  2007-02-23  6:52 ` Eric W. Biederman
  0 siblings, 1 reply; 2+ messages in thread
From: Siddha, Suresh B @ 2007-02-23  1:21 UTC (permalink / raw)
  To: mingo; +Cc: ebiederm, akpm, linux-kernel

While debugging some other irq migration issue, observed this issue with
-git kernels. Ingo, please ACK it.
---

With the commit 76d2160147f43f982dfe881404cfde9fd0a9da21, irq_chip
default_disable() became an empty function. And with this change, irq
migration in the case of Edge triggered IO-APIC and MSI interrupts happens
with out masking the irq.

Appended patch fixes by using the mask/unmask handlers of irq_chip directly
while doing the irq migration.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
---

diff --git a/kernel/irq/migration.c b/kernel/irq/migration.c
index 4baa3bb..14ff345 100644
--- a/kernel/irq/migration.c
+++ b/kernel/irq/migration.c
@@ -66,11 +66,11 @@ void move_native_irq(int irq)
 		return;
 
 	if (likely(!(desc->status & IRQ_DISABLED)))
-		desc->chip->disable(irq);
+		desc->chip->mask(irq);
 
 	move_masked_irq(irq);
 
 	if (likely(!(desc->status & IRQ_DISABLED)))
-		desc->chip->enable(irq);
+		desc->chip->unmask(irq);
 }
 

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

* Re: [patch] fix the irq migration
  2007-02-23  1:21 [patch] fix the irq migration Siddha, Suresh B
@ 2007-02-23  6:52 ` Eric W. Biederman
  0 siblings, 0 replies; 2+ messages in thread
From: Eric W. Biederman @ 2007-02-23  6:52 UTC (permalink / raw)
  To: Siddha, Suresh B; +Cc: mingo, ebiederm, akpm, linux-kernel

"Siddha, Suresh B" <suresh.b.siddha@intel.com> writes:

> While debugging some other irq migration issue, observed this issue with
> -git kernels. Ingo, please ACK it.
> ---
>
> With the commit 76d2160147f43f982dfe881404cfde9fd0a9da21, irq_chip
> default_disable() became an empty function. And with this change, irq
> migration in the case of Edge triggered IO-APIC and MSI interrupts happens
> with out masking the irq.
>
> Appended patch fixes by using the mask/unmask handlers of irq_chip directly
> while doing the irq migration.

Close.

If the irq is disabled we need to bail out instead of skipping the
masking.

The masking is required for the function to run correctly and
when IRQ_DISABLED is set we don't know enough to do anything.

Once this is fixed we just need to fix the msi case where the
hardware doesn't provide a mask bit.

Eric

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

end of thread, other threads:[~2007-02-23  6:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-23  1:21 [patch] fix the irq migration Siddha, Suresh B
2007-02-23  6:52 ` Eric W. Biederman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).