diff options
| author | Ingo Molnar <mingo@elte.hu> | 2008-09-23 13:26:27 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-09-23 13:26:27 +0200 |
| commit | 101d5b713700b902b1c200cdd1925c3cb7d34567 (patch) | |
| tree | a0d4b4140129ad2f24fd17b965dfcfbbb1ac01db /kernel | |
| parent | cec5eb7be3a104fffd27ca967ee8e15a123050e2 (diff) | |
| parent | e6babb6b7fed93c93f8fc5ef8ebd3a474fc2df3e (diff) | |
Merge branch 'x86/signal' into core/signal
Conflicts:
arch/x86/kernel/cpu/feature_names.c
arch/x86/kernel/setup.c
drivers/pci/intel-iommu.c
include/asm-x86/cpufeature.h
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/irq/manage.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 0314074fa23..60c49e32439 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -89,7 +89,14 @@ int irq_set_affinity(unsigned int irq, cpumask_t cpumask) set_balance_irq_affinity(irq, cpumask); #ifdef CONFIG_GENERIC_PENDING_IRQ - set_pending_irq(irq, cpumask); + if (desc->status & IRQ_MOVE_PCNTXT) { + unsigned long flags; + + spin_lock_irqsave(&desc->lock, flags); + desc->chip->set_affinity(irq, cpumask); + spin_unlock_irqrestore(&desc->lock, flags); + } else + set_pending_irq(irq, cpumask); #else desc->affinity = cpumask; desc->chip->set_affinity(irq, cpumask); |
