On 5/14/21 10:49 PM, Thomas Gleixner wrote: > On Fri, Apr 30 2021 at 10:04, Cédric Le Goater wrote: >> The HW IRQ numbers generated by the PCI MSI layer can be quite large >> on a pSeries machine when running under the IBM Hypervisor and they >> appear as negative. Use '%u' to show them correctly. >> >> Cc: Thomas Gleixner <t...@linutronix.de> >> Signed-off-by: Cédric Le Goater <c...@kaod.org> >> --- >> kernel/irq/irqdesc.c | 2 +- >> kernel/irq/proc.c | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c >> index cc1a09406c6e..85054eb2ae51 100644 >> --- a/kernel/irq/irqdesc.c >> +++ b/kernel/irq/irqdesc.c >> @@ -188,7 +188,7 @@ static ssize_t hwirq_show(struct kobject *kobj, >> >> raw_spin_lock_irq(&desc->lock); >> if (desc->irq_data.domain) >> - ret = sprintf(buf, "%d\n", (int)desc->irq_data.hwirq); >> + ret = sprintf(buf, "%u\n", (int)desc->irq_data.hwirq); > > Which makes the (int) cast pointless, right?
Well, hwirq is a long. Would you prefer a "%lu" for both ? Thanks, C. > >> raw_spin_unlock_irq(&desc->lock); >> >> return ret; >> diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c >> index 98138788cb04..e2392f05da04 100644 >> --- a/kernel/irq/proc.c >> +++ b/kernel/irq/proc.c >> @@ -513,7 +513,7 @@ int show_interrupts(struct seq_file *p, void *v) >> seq_printf(p, " %8s", "None"); >> } >> if (desc->irq_data.domain) >> - seq_printf(p, " %*d", prec, (int) desc->irq_data.hwirq); >> + seq_printf(p, " %*u", prec, (int)desc->irq_data.hwirq); > > ditto. > > Thanks, > > tglx >