On Thu, Dec 10, 2020 at 9:57 PM Thomas Gleixner tglx@linutronix.de wrote:
First of all drivers have absolutely no business to dig into the internals of an irq descriptor. That's core code and subject to change. All of this information is readily available to /proc/interrupts in a safe and race free way.
Remove the inspection code which is a blatant violation of subsystem boundaries and racy against concurrent modifications of the interrupt descriptor.
Print the irq line instead so the information can be looked up in a sane way in /proc/interrupts.
...
seq_printf(s, "%3i: %6i %4i",
seq_printf(s, "%3i: %6i %4i %4i\n",
Seems different specifiers, I think the intention was something like seq_printf(s, "%3i: %4i %6i %4i\n",
line,
line + irq_first, num_interrupts[line], num_wake_interrupts[line]);