mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[ARM] mmp2: fix incorrect calling of chip->mask_ack() for 2nd level cascaded IRQs
The irq_chip is not yet registered, so no default irq_chip.mask_ack(), which we have to handle it correctly manually here. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
This commit is contained in:
parent
df0c382436
commit
2029e5643a
1 changed files with 5 additions and 1 deletions
|
@ -102,7 +102,11 @@ static void init_mux_irq(struct irq_chip *chip, int start, int num)
|
||||||
int irq;
|
int irq;
|
||||||
|
|
||||||
for (irq = start; num > 0; irq++, num--) {
|
for (irq = start; num > 0; irq++, num--) {
|
||||||
chip->mask_ack(irq);
|
/* mask and clear the IRQ */
|
||||||
|
chip->mask(irq);
|
||||||
|
if (chip->ack)
|
||||||
|
chip->ack(irq);
|
||||||
|
|
||||||
set_irq_chip(irq, chip);
|
set_irq_chip(irq, chip);
|
||||||
set_irq_flags(irq, IRQF_VALID);
|
set_irq_flags(irq, IRQF_VALID);
|
||||||
set_irq_handler(irq, handle_level_irq);
|
set_irq_handler(irq, handle_level_irq);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue