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:
65543b3
)
irqchip/eznps: Acknowledge NPS_IPI before calling the handler
author
Noam Camus
<
[email protected]
>
Thu, 13 Oct 2016 13:15:32 +0000
(16:15 +0300)
committer
Thomas Gleixner
<
[email protected]
>
Fri, 14 Oct 2016 12:26:54 +0000
(14:26 +0200)
IPI_IRQ (also TIMER0_IRQ) should be acked before the action->handler is called
in handle_percpu_devid_irq.
The IPI irq is edge sensitive and we might miss an IPI interrupt if it is
triggered again while the handler runs.
Fixes: 44df427c894a ("irqchip: add nps Internal and external irqchips")
Signed-off-by: Noam Camus <
[email protected]
>
Cc:
[email protected]
Cc:
[email protected]
Cc:
[email protected]
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Thomas Gleixner <
[email protected]
>
drivers/irqchip/irq-eznps.c
patch
|
blob
|
history
diff --git
a/drivers/irqchip/irq-eznps.c
b/drivers/irqchip/irq-eznps.c
index efbf0e4304b7073d5aa12bfa97a1d727aace81b7..ebc2b0b15f677e4bac6afef3319a4d9467cc5bd6 100644
(file)
--- a/
drivers/irqchip/irq-eznps.c
+++ b/
drivers/irqchip/irq-eznps.c
@@
-85,7
+85,7
@@
static void nps400_irq_eoi_global(struct irq_data *irqd)
nps_ack_gic();
}
-static void nps400_irq_
eoi
(struct irq_data *irqd)
+static void nps400_irq_
ack
(struct irq_data *irqd)
{
unsigned int __maybe_unused irq = irqd_to_hwirq(irqd);
@@
-103,7
+103,7
@@
static struct irq_chip nps400_irq_chip_percpu = {
.name = "NPS400 IC",
.irq_mask = nps400_irq_mask,
.irq_unmask = nps400_irq_unmask,
- .irq_
eoi = nps400_irq_eoi
,
+ .irq_
ack = nps400_irq_ack
,
};
static int nps400_irq_map(struct irq_domain *d, unsigned int virq,