Skip to contentSkip to conversation

x86/irq changes for v2.6.40

GIT PULL Ingo Molnar 1 participant 1 message May 19, 2011 x86

lore
Share & tools
lore
#0 lore raw

Linus,

Please pull the latest x86-irq-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git x86-irq-for-linus

Thanks,

Ingo

------------------>
Tian, Kevin (2):
x86: Skip migrating IRQF_PER_CPU irqs in fixup_irqs()
x86: Don't unmask disabled irqs when migrating them

 arch/x86/kernel/irq.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
arch/x86/kernel/irq.c +3 -2
index 1cb0b9f..6c0802e 100644
@@ -249,7 +249,7 @@ void fixup_irqs(void)
 
 		data = irq_desc_get_irq_data(desc);
 		affinity = data->affinity;
-		if (!irq_has_action(irq) ||
+		if (!irq_has_action(irq) || irqd_is_per_cpu(data) ||
 		    cpumask_subset(affinity, cpu_online_mask)) {
 			raw_spin_unlock(&desc->lock);
 			continue;
@@ -276,7 +276,8 @@ void fixup_irqs(void)
 		else if (!(warned++))
 			set_affinity = 0;
 
-		if (!irqd_can_move_in_process_context(data) && chip->irq_unmask)
+		if (!irqd_can_move_in_process_context(data) &&
+		    !irqd_irq_disabled(data) && chip->irq_unmask)
 			chip->irq_unmask(data);
 
 		raw_spin_unlock(&desc->lock);