Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

openrisc: mask interrupts in irq_mask_ack function

or1k_pic_mask_ack was failing to actually mask the IRQ.

Signed-off-by: Gong Tao <gongtao0607@gmail.com>
Signed-off-by: Jonas Bonn <jonas@southpole.se>

authored by

Gong Tao and committed by
Jonas Bonn
d23b5799 8eea8a6a

+2
+2
arch/openrisc/kernel/irq.c
··· 87 87 /* Comments for pic_ack apply here, too */ 88 88 89 89 #ifdef CONFIG_OR1K_1200 90 + mtspr(SPR_PICMR, mfspr(SPR_PICMR) & ~(1UL << data->hwirq)); 90 91 mtspr(SPR_PICSR, mfspr(SPR_PICSR) & ~(1UL << data->hwirq)); 91 92 #else 92 93 WARN(1, "Interrupt handling possibly broken\n"); 94 + mtspr(SPR_PICMR, (1UL << data->hwirq)); 93 95 mtspr(SPR_PICSR, (1UL << data->hwirq)); 94 96 #endif 95 97 }