aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc/iosapic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/parisc/iosapic.c')
-rw-r--r--drivers/parisc/iosapic.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index 1cdfdea5d7ef..501aaf1f253f 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -708,11 +708,14 @@ static void iosapic_set_affinity_irq(unsigned int irq,
708 struct vector_info *vi = iosapic_get_vector(irq); 708 struct vector_info *vi = iosapic_get_vector(irq);
709 u32 d0, d1, dummy_d0; 709 u32 d0, d1, dummy_d0;
710 unsigned long flags; 710 unsigned long flags;
711 int dest_cpu;
711 712
712 if (cpu_check_affinity(irq, dest)) 713 dest_cpu = cpu_check_affinity(irq, dest);
714 if (dest_cpu < 0)
713 return; 715 return;
714 716
715 vi->txn_addr = txn_affinity_addr(irq, cpumask_first(dest)); 717 irq_desc[irq].affinity = cpumask_of_cpu(dest_cpu);
718 vi->txn_addr = txn_affinity_addr(irq, dest_cpu);
716 719
717 spin_lock_irqsave(&iosapic_lock, flags); 720 spin_lock_irqsave(&iosapic_lock, flags);
718 /* d1 contains the destination CPU, so only want to set that 721 /* d1 contains the destination CPU, so only want to set that