Re: [PATCH] irq: sg2042-msi: add missed chip flags

From: Chen Wang
Date: Mon Apr 07 2025 - 07:45:10 EST



On 2025/4/5 13:56, Inochi Amaoto wrote:
sg2042-msi driver used fallback set by msi_lib_init_dev_msi_info()
As commit 1c000dcaad2b ("irqchip/irq-msi-lib: Optionally set default
irq_eoi()/irq_ack()") changes the behavior of the default fallback,
which break the driver and causes NULL pointer dereference.

Add necessary chip flags of msi_parent_ops in this driver to fix it.

Fixes: c66741549424 ("irqchip: Add the Sophgo SG2042 MSI interrupt controller")
Link: https://lore.kernel.org/all/20250217085657.789309-3-apatel@xxxxxxxxxxxxxxxx
Signed-off-by: Inochi Amaoto <inochiama@xxxxxxxxx>

Reviewed-by: Chen Wang <wangchen20@xxxxxxxxxxx>

Tested-by: Chen Wang <wangchen20@xxxxxxxxxxx>

Thanks,

Chen

---
drivers/irqchip/irq-sg2042-msi.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/irq-sg2042-msi.c b/drivers/irqchip/irq-sg2042-msi.c
index ee682e87eb8b..375b55aa0acd 100644
--- a/drivers/irqchip/irq-sg2042-msi.c
+++ b/drivers/irqchip/irq-sg2042-msi.c
@@ -151,6 +151,7 @@ static const struct irq_domain_ops sg2042_msi_middle_domain_ops = {
static const struct msi_parent_ops sg2042_msi_parent_ops = {
.required_flags = SG2042_MSI_FLAGS_REQUIRED,
.supported_flags = SG2042_MSI_FLAGS_SUPPORTED,
+ .chip_flags = MSI_CHIP_FLAG_SET_ACK,
.bus_select_mask = MATCH_PCI_MSI,
.bus_select_token = DOMAIN_BUS_NEXUS,
.prefix = "SG2042-",