]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
irqchip/sg2042-msi: Add missing chip flags
authorInochi Amaoto <inochiama@gmail.com>
Sat, 5 Apr 2025 05:56:24 +0000 (13:56 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 7 Apr 2025 07:23:55 +0000 (09:23 +0200)
The sg2042-msi driver uses the fallback callbacks set by
msi_lib_init_dev_msi_info(). commit 1c000dcaad2b ("irqchip/irq-msi-lib:
Optionally set default irq_eoi()/irq_ack()") changed the behavior of the
fallback mechanism by making it opt-in.

The sg2042-msi was not fixed up for this, which causes a NULL pointer
dereference due to the missing irq_ack() callback.

Add the missing chip flag to msi_parent_ops.

Fixes: c66741549424 ("irqchip: Add the Sophgo SG2042 MSI interrupt controller")
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250217085657.789309-3-apatel@ventanamicro.com
Link: https://lore.kernel.org/all/20250405055625.1530180-1-inochiama@gmail.com
drivers/irqchip/irq-sg2042-msi.c

index ee682e87eb8be2ebc7df35911c59493e2d8d5136..375b55aa0acd8d7a1d24e27644ec5736502ec173 100644 (file)
@@ -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-",