diff options
Diffstat (limited to 'arch/alpha/kernel/irq.c')
-rw-r--r-- | arch/alpha/kernel/irq.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c index facf82a5499a..c626a821cdcb 100644 --- a/arch/alpha/kernel/irq.c +++ b/arch/alpha/kernel/irq.c | |||
@@ -42,8 +42,7 @@ void ack_bad_irq(unsigned int irq) | |||
42 | #ifdef CONFIG_SMP | 42 | #ifdef CONFIG_SMP |
43 | static char irq_user_affinity[NR_IRQS]; | 43 | static char irq_user_affinity[NR_IRQS]; |
44 | 44 | ||
45 | int | 45 | int irq_select_affinity(unsigned int irq) |
46 | select_smp_affinity(unsigned int irq) | ||
47 | { | 46 | { |
48 | static int last_cpu; | 47 | static int last_cpu; |
49 | int cpu = last_cpu + 1; | 48 | int cpu = last_cpu + 1; |
@@ -51,7 +50,7 @@ select_smp_affinity(unsigned int irq) | |||
51 | if (!irq_desc[irq].chip->set_affinity || irq_user_affinity[irq]) | 50 | if (!irq_desc[irq].chip->set_affinity || irq_user_affinity[irq]) |
52 | return 1; | 51 | return 1; |
53 | 52 | ||
54 | while (!cpu_possible(cpu)) | 53 | while (!cpu_possible(cpu) || !cpu_isset(cpu, irq_default_affinity)) |
55 | cpu = (cpu < (NR_CPUS-1) ? cpu + 1 : 0); | 54 | cpu = (cpu < (NR_CPUS-1) ? cpu + 1 : 0); |
56 | last_cpu = cpu; | 55 | last_cpu = cpu; |
57 | 56 | ||