diff options
| -rw-r--r-- | drivers/irqchip/irq-sun4i.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c index 6fcef4a95a18..64155b686081 100644 --- a/drivers/irqchip/irq-sun4i.c +++ b/drivers/irqchip/irq-sun4i.c | |||
| @@ -136,7 +136,7 @@ IRQCHIP_DECLARE(allwinner_sun4i_ic, "allwinner,sun4i-a10-ic", sun4i_of_init); | |||
| 136 | 136 | ||
| 137 | static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) | 137 | static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) |
| 138 | { | 138 | { |
| 139 | u32 irq, hwirq; | 139 | u32 hwirq; |
| 140 | 140 | ||
| 141 | /* | 141 | /* |
| 142 | * hwirq == 0 can mean one of 3 things: | 142 | * hwirq == 0 can mean one of 3 things: |
| @@ -154,8 +154,7 @@ static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) | |||
| 154 | return; | 154 | return; |
| 155 | 155 | ||
| 156 | do { | 156 | do { |
| 157 | irq = irq_find_mapping(sun4i_irq_domain, hwirq); | 157 | handle_domain_irq(sun4i_irq_domain, hwirq, regs); |
| 158 | handle_IRQ(irq, regs); | ||
| 159 | hwirq = readl(sun4i_irq_base + SUN4I_IRQ_VECTOR_REG) >> 2; | 158 | hwirq = readl(sun4i_irq_base + SUN4I_IRQ_VECTOR_REG) >> 2; |
| 160 | } while (hwirq != 0); | 159 | } while (hwirq != 0); |
| 161 | } | 160 | } |
