[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220714042221.281187-26-sashal@kernel.org>
Date: Thu, 14 Jul 2022 00:22:06 -0400
From: Sasha Levin <sashal@...nel.org>
To: linux-kernel@...r.kernel.org, stable@...r.kernel.org
Cc: Stafford Horne <shorne@...il.com>, Marc Zyngier <maz@...nel.org>,
Sasha Levin <sashal@...nel.org>, jonas@...thpole.se,
stefan.kristiansson@...nalahti.fi, tglx@...utronix.de,
openrisc@...ts.librecores.org
Subject: [PATCH AUTOSEL 5.18 26/41] irqchip: or1k-pic: Undefine mask_ack for level triggered hardware
From: Stafford Horne <shorne@...il.com>
[ Upstream commit 8520501346ed8d1c4a6dfa751cb57328a9c843f1 ]
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@...nel.org>
Signed-off-by: Stafford Horne <shorne@...il.com>
Signed-off-by: Sasha Levin <sashal@...nel.org>
---
drivers/irqchip/irq-or1k-pic.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/irqchip/irq-or1k-pic.c b/drivers/irqchip/irq-or1k-pic.c
index 49b47e787644..f289ccd95291 100644
--- a/drivers/irqchip/irq-or1k-pic.c
+++ b/drivers/irqchip/irq-or1k-pic.c
@@ -66,7 +66,6 @@ static struct or1k_pic_dev or1k_pic_level = {
.name = "or1k-PIC-level",
.irq_unmask = or1k_pic_unmask,
.irq_mask = or1k_pic_mask,
- .irq_mask_ack = or1k_pic_mask_ack,
},
.handle = handle_level_irq,
.flags = IRQ_LEVEL | IRQ_NOPROBE,
--
2.35.1
Powered by blists - more mailing lists