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? > 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