lkml.org 
[lkml]   [2009]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] irq: mask irq before move it

Imapct: fix panic

try to mask the irq, before move the irq desc

Signed-off-by: Yinghai Lu <yinghai@kernel.org>

---
kernel/irq/numa_migrate.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
Index: linux-2.6/kernel/irq/numa_migrate.c
===================================================================
--- linux-2.6.orig/kernel/irq/numa_migrate.c
+++ linux-2.6/kernel/irq/numa_migrate.c
@@ -112,17 +112,21 @@ struct irq_desc *move_irq_desc(struct ir
{
int old_cpu;
int node, old_node;
+ unsigned int irq = desc->irq;

/* those all static, do move them */
- if (desc->irq < NR_IRQS_LEGACY)
+ if (irq < NR_IRQS_LEGACY)
return desc;

old_cpu = desc->cpu;
if (old_cpu != cpu) {
node = cpu_to_node(cpu);
old_node = cpu_to_node(old_cpu);
- if (old_node != node)
+ if (old_node != node) {
+ desc->chip->mask(irq);
desc = __real_move_irq_desc(desc, cpu);
+ desc->chip->unmask(irq);
+ }
else
desc->cpu = cpu;
}

\
 
 \ /
  Last update: 2009-03-28 05:47    [W:0.749 / U:0.792 seconds]
©2003-2014 Jasper Spaans. Advertise on this site