diff options
Diffstat (limited to 'arch/powerpc/platforms/pseries/xics.c')
| -rw-r--r-- | arch/powerpc/platforms/pseries/xics.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c index 84e058f1e1c..80b513449f4 100644 --- a/arch/powerpc/platforms/pseries/xics.c +++ b/arch/powerpc/platforms/pseries/xics.c | |||
| @@ -153,9 +153,10 @@ static int get_irq_server(unsigned int virq, unsigned int strict_check) | |||
| 153 | { | 153 | { |
| 154 | int server; | 154 | int server; |
| 155 | /* For the moment only implement delivery to all cpus or one cpu */ | 155 | /* For the moment only implement delivery to all cpus or one cpu */ |
| 156 | cpumask_t cpumask = irq_desc[virq].affinity; | 156 | cpumask_t cpumask; |
| 157 | cpumask_t tmp = CPU_MASK_NONE; | 157 | cpumask_t tmp = CPU_MASK_NONE; |
| 158 | 158 | ||
| 159 | cpumask_copy(&cpumask, irq_desc[virq].affinity); | ||
| 159 | if (!distribute_irqs) | 160 | if (!distribute_irqs) |
| 160 | return default_server; | 161 | return default_server; |
| 161 | 162 | ||
| @@ -869,7 +870,7 @@ void xics_migrate_irqs_away(void) | |||
| 869 | virq, cpu); | 870 | virq, cpu); |
| 870 | 871 | ||
| 871 | /* Reset affinity to all cpus */ | 872 | /* Reset affinity to all cpus */ |
| 872 | irq_desc[virq].affinity = CPU_MASK_ALL; | 873 | cpumask_setall(irq_desc[virq].affinity); |
| 873 | desc->chip->set_affinity(virq, cpu_all_mask); | 874 | desc->chip->set_affinity(virq, cpu_all_mask); |
| 874 | unlock: | 875 | unlock: |
| 875 | spin_unlock_irqrestore(&desc->lock, flags); | 876 | spin_unlock_irqrestore(&desc->lock, flags); |
