diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-10 22:25:31 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-02-19 12:58:22 +0100 |
commit | e1ef824146131709d7466e37f889f2dab24ca98e (patch) | |
tree | d66f8423fce8e4d04aa509e1cbbaea2fb99a812c /kernel/irq | |
parent | 7f94226f03299f1ca32f118f02f2a0295e0e5e93 (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')
-rw-r--r-- | kernel/irq/chip.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 4687457fe7f..2b0f9192a83 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) irq_settings_clr_and_set(desc, clr, set); irqd_clear(&desc->irq_data, IRQD_NO_BALANCING | IRQD_PER_CPU | - IRQD_TRIGGER_MASK | IRQD_LEVEL); + IRQD_TRIGGER_MASK | IRQD_LEVEL | IRQD_MOVE_PCNTXT); if (irq_settings_has_no_balance_set(desc)) irqd_set(&desc->irq_data, IRQD_NO_BALANCING); if (irq_settings_is_per_cpu(desc)) irqd_set(&desc->irq_data, IRQD_PER_CPU); + if (irq_settings_can_move_pcntxt(desc)) + irqd_set(&desc->irq_data, IRQD_MOVE_PCNTXT); irqd_set(&desc->irq_data, irq_settings_get_trigger_mask(desc)); |