diff options
Diffstat (limited to 'arch/mips/netlogic')
-rw-r--r-- | arch/mips/netlogic/common/irq.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/mips/netlogic/common/irq.c b/arch/mips/netlogic/common/irq.c index 9f84c60bf535..73facb2b33bb 100644 --- a/arch/mips/netlogic/common/irq.c +++ b/arch/mips/netlogic/common/irq.c | |||
@@ -253,13 +253,12 @@ asmlinkage void plat_irq_dispatch(void) | |||
253 | 253 | ||
254 | node = nlm_nodeid(); | 254 | node = nlm_nodeid(); |
255 | eirr = read_c0_eirr_and_eimr(); | 255 | eirr = read_c0_eirr_and_eimr(); |
256 | 256 | if (eirr == 0) | |
257 | i = __ilog2_u64(eirr); | ||
258 | if (i == -1) | ||
259 | return; | 257 | return; |
260 | 258 | ||
259 | i = __ffs64(eirr); | ||
261 | /* per-CPU IRQs don't need translation */ | 260 | /* per-CPU IRQs don't need translation */ |
262 | if (eirr & PERCPU_IRQ_MASK) { | 261 | if (i < PIC_IRQ_BASE) { |
263 | do_IRQ(i); | 262 | do_IRQ(i); |
264 | return; | 263 | return; |
265 | } | 264 | } |