]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip: or1k-pic: Undefine mask_ack for level triggered hardware
authorStafford Horne <shorne@gmail.com>
Tue, 14 Jun 2022 23:54:26 +0000 (08:54 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Jul 2022 18:59:26 +0000 (20:59 +0200)
commitd9e642c3695dc94723559a32563b0521155a64d8
treea3d6a0739057bf5f9a5660d86d522c3c4ffec1f2
parent79fdadc289dbbf74c7fc95df4ace88c9cd42dd65
irqchip: or1k-pic: Undefine mask_ack for level triggered hardware

[ Upstream commit df1d1e753ace0ede0a9a4d9f787bf5512cbbdc43 ]

The mask_ack operation clears the interrupt by writing to the PICSR
register.  This we don't want for level triggered interrupt because
it does not actually clear the interrupt on the source hardware.

This was causing issues in qemu with multi core setups where
interrupts would continue to fire even though they had been cleared in
PICSR.

Just remove the mask_ack operation.

Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Stafford Horne <shorne@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/irqchip/irq-or1k-pic.c