diff options
| author | David Woodhouse <David.Woodhouse@intel.com> | 2008-10-13 17:13:56 +0100 | 
|---|---|---|
| committer | David Woodhouse <David.Woodhouse@intel.com> | 2008-10-13 17:13:56 +0100 | 
| commit | e758936e02700ff88a0b08b722a3847b95283ef2 (patch) | |
| tree | 50c919bef1b459a778b85159d5929de95b6c4a01 /kernel/irq/manage.c | |
| parent | 239cfbde1f5843c4a24199f117d5f67f637d72d5 (diff) | |
| parent | 4480f15b3306f43bbb0310d461142b4e897ca45b (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
	include/asm-x86/statfs.h
Diffstat (limited to 'kernel/irq/manage.c')
| -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);  | 
