diff options
| -rw-r--r-- | drivers/irqchip/irq-mips-gic.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c index 842a53d3f4ad..aeaa061f0dbf 100644 --- a/drivers/irqchip/irq-mips-gic.c +++ b/drivers/irqchip/irq-mips-gic.c | |||
| @@ -320,6 +320,14 @@ static void gic_handle_shared_int(bool chained) | |||
| 320 | intrmask[i] = gic_read(intrmask_reg); | 320 | intrmask[i] = gic_read(intrmask_reg); |
| 321 | pending_reg += gic_reg_step; | 321 | pending_reg += gic_reg_step; |
| 322 | intrmask_reg += gic_reg_step; | 322 | intrmask_reg += gic_reg_step; |
| 323 | |||
| 324 | if (!config_enabled(CONFIG_64BIT) || mips_cm_is64) | ||
| 325 | continue; | ||
| 326 | |||
| 327 | pending[i] |= (u64)gic_read(pending_reg) << 32; | ||
| 328 | intrmask[i] |= (u64)gic_read(intrmask_reg) << 32; | ||
| 329 | pending_reg += gic_reg_step; | ||
| 330 | intrmask_reg += gic_reg_step; | ||
| 323 | } | 331 | } |
| 324 | 332 | ||
| 325 | bitmap_and(pending, pending, intrmask, gic_shared_intrs); | 333 | bitmap_and(pending, pending, intrmask, gic_shared_intrs); |
