aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq/chip.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-10 16:25:31 -0500
committerThomas Gleixner <tglx@linutronix.de>2011-02-19 06:58:22 -0500
commite1ef824146131709d7466e37f889f2dab24ca98e (patch)
treed66f8423fce8e4d04aa509e1cbbaea2fb99a812c /kernel/irq/chip.c
parent7f94226f03299f1ca32f118f02f2a0295e0e5e93 (diff)
genirq: Reflect IRQ_MOVE_PCNTXT in irq_data state
Required by x86. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/irq/chip.c')
-rw-r--r--kernel/irq/chip.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index 4687457fe7f0..2b0f9192a830 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -712,11 +712,13 @@ void irq_modify_status(unsigned int irq, unsigned long clr, unsigned long set)
712 irq_settings_clr_and_set(desc, clr, set); 712 irq_settings_clr_and_set(desc, clr, set);
713 713
714 irqd_clear(&desc->irq_data, IRQD_NO_BALANCING | IRQD_PER_CPU | 714 irqd_clear(&desc->irq_data, IRQD_NO_BALANCING | IRQD_PER_CPU |
715 IRQD_TRIGGER_MASK | IRQD_LEVEL); 715 IRQD_TRIGGER_MASK | IRQD_LEVEL | IRQD_MOVE_PCNTXT);
716 if (irq_settings_has_no_balance_set(desc)) 716 if (irq_settings_has_no_balance_set(desc))
717 irqd_set(&desc->irq_data, IRQD_NO_BALANCING); 717 irqd_set(&desc->irq_data, IRQD_NO_BALANCING);
718 if (irq_settings_is_per_cpu(desc)) 718 if (irq_settings_is_per_cpu(desc))
719 irqd_set(&desc->irq_data, IRQD_PER_CPU); 719 irqd_set(&desc->irq_data, IRQD_PER_CPU);
720 if (irq_settings_can_move_pcntxt(desc))
721 irqd_set(&desc->irq_data, IRQD_MOVE_PCNTXT);
720 722
721 irqd_set(&desc->irq_data, irq_settings_get_trigger_mask(desc)); 723 irqd_set(&desc->irq_data, irq_settings_get_trigger_mask(desc));
722 724