diff options
Diffstat (limited to 'drivers/irqchip/irq-gic.c')
-rw-r--r-- | drivers/irqchip/irq-gic.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 644d72468423..fc6aebf1e4b2 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c | |||
@@ -236,7 +236,8 @@ static int gic_retrigger(struct irq_data *d) | |||
236 | if (gic_arch_extn.irq_retrigger) | 236 | if (gic_arch_extn.irq_retrigger) |
237 | return gic_arch_extn.irq_retrigger(d); | 237 | return gic_arch_extn.irq_retrigger(d); |
238 | 238 | ||
239 | return -ENXIO; | 239 | /* the genirq layer expects 0 if we can't retrigger in hardware */ |
240 | return 0; | ||
240 | } | 241 | } |
241 | 242 | ||
242 | #ifdef CONFIG_SMP | 243 | #ifdef CONFIG_SMP |
@@ -648,7 +649,7 @@ void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) | |||
648 | 649 | ||
649 | /* Convert our logical CPU mask into a physical one. */ | 650 | /* Convert our logical CPU mask into a physical one. */ |
650 | for_each_cpu(cpu, mask) | 651 | for_each_cpu(cpu, mask) |
651 | map |= 1 << cpu_logical_map(cpu); | 652 | map |= gic_cpu_map[cpu]; |
652 | 653 | ||
653 | /* | 654 | /* |
654 | * Ensure that stores to Normal memory are visible to the | 655 | * Ensure that stores to Normal memory are visible to the |