On Fri, Feb 28 2025 at 17:04, Hans Zhang wrote: > Is the following patch OK? No. > static void > irq_debug_show_chip(struct seq_file *m, struct irq_data *data, int ind) > { > @@ -178,6 +199,7 @@ static int irq_debug_show(struct seq_file *m, void *p) > seq_printf(m, "node: %d\n", irq_data_get_node(data)); > irq_debug_show_masks(m, desc); > irq_debug_show_data(m, data, 0); > + irq_debug_show_msi_msix(m, data, 0); > raw_spin_unlock_irq(&desc->lock); > return 0; > } This is just violating the layering and I told you what to do: "implement a debug_show() callback in the MSI core code and assign it to domain ops::debug_show() on domain creation, if it does not provide its own callback." If you don't understand what I tell you, then please ask instead of going off and hacking up something completely different. Here is another hint: Look at msi_domain_ops_default and at msi_domain_update_dom_ops() If you still have questions, feel free to ask. Thanks, tglx