projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2a07870
)
irqchip/mips-gic: Clear percpu_masks correctly when mapping
author
Qais Yousef
<qais.yousef@imgtec.com>
Tue, 8 Dec 2015 13:20:26 +0000
(13:20 +0000)
committer
Thomas Gleixner
<tglx@linutronix.de>
Thu, 25 Feb 2016 09:56:58 +0000
(10:56 +0100)
When setting the mapping for a hwirq, make sure we clear percpu_masks for
all other cpus in case it was set previously.
Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: <jason@lakedaemon.net>
Cc: <marc.zyngier@arm.com>
Cc: <jiang.liu@linux.intel.com>
Cc: <linux-mips@linux-mips.org>
Cc: <lisa.parratt@imgtec.com>
Cc: Qais Yousef <qsyousef@gmail.com>
Link:
http://lkml.kernel.org/r/1449580830-23652-16-git-send-email-qais.yousef@imgtec.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/irqchip/irq-mips-gic.c
patch
|
blob
|
history
diff --git
a/drivers/irqchip/irq-mips-gic.c
b/drivers/irqchip/irq-mips-gic.c
index 1fe73a1911202dc947080ed9c7dc645fdbbf806b..83395bf834c8c650b1e2b086c7bcd5042f9058de 100644
(file)
--- a/
drivers/irqchip/irq-mips-gic.c
+++ b/
drivers/irqchip/irq-mips-gic.c
@@
-773,6
+773,7
@@
static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq,
{
int intr = GIC_HWIRQ_TO_SHARED(hw);
unsigned long flags;
+ int i;
irq_set_chip_and_handler(virq, &gic_level_irq_controller,
handle_level_irq);
@@
-780,6
+781,8
@@
static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq,
spin_lock_irqsave(&gic_lock, flags);
gic_map_to_pin(intr, gic_cpu_pin);
gic_map_to_vpe(intr, vpe);
+ for (i = 0; i < gic_vpes; i++)
+ clear_bit(intr, pcpu_masks[i].pcpu_mask);
set_bit(intr, pcpu_masks[vpe].pcpu_mask);
spin_unlock_irqrestore(&gic_lock, flags);