Skip to content

Commit 12aaf67

Browse files
Russell King (Oracle)KAGA-KOKO
Russell King (Oracle)
authored andcommitted
irqchip/irq-mvebu-sei: Move misplaced select() callback to SEI CP domain
Commit fbdf14e ("irqchip/irq-mvebu-sei: Switch to MSI parent") introduced in v6.11-rc1 broke Mavell Armada platforms (and possibly others) by incorrectly switching irq-mvebu-sei to MSI parent. In the above commit, msi_parent_ops is set for the sei->cp_domain, but rather than adding a .select method to mvebu_sei_cp_domain_ops (which is associated with sei->cp_domain), it was added to mvebu_sei_domain_ops which is associated with sei->sei_domain, which doesn't have any msi_parent_ops. This makes the call to msi_lib_irq_domain_select() always fail. This bug manifests itself with the following kernel messages on Armada 8040 based systems: platform f21e0000.interrupt-controller:interrupt-controller@50: deferred probe pending: (reason unknown) platform f41e0000.interrupt-controller:interrupt-controller@50: deferred probe pending: (reason unknown) Move the select callback to mvebu_sei_cp_domain_ops to cure it. Fixes: fbdf14e ("irqchip/irq-mvebu-sei: Switch to MSI parent") Signed-off-by: Russell King (Oracle) <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: [email protected] Link: https://lore.kernel.org/all/[email protected]
1 parent 7eef7e3 commit 12aaf67

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/irqchip/irq-mvebu-sei.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,6 @@ static void mvebu_sei_domain_free(struct irq_domain *domain, unsigned int virq,
192192
}
193193

194194
static const struct irq_domain_ops mvebu_sei_domain_ops = {
195-
.select = msi_lib_irq_domain_select,
196195
.alloc = mvebu_sei_domain_alloc,
197196
.free = mvebu_sei_domain_free,
198197
};
@@ -306,6 +305,7 @@ static void mvebu_sei_cp_domain_free(struct irq_domain *domain,
306305
}
307306

308307
static const struct irq_domain_ops mvebu_sei_cp_domain_ops = {
308+
.select = msi_lib_irq_domain_select,
309309
.alloc = mvebu_sei_cp_domain_alloc,
310310
.free = mvebu_sei_cp_domain_free,
311311
};

0 commit comments

Comments
 (0)