Re: Re. 2.6.15-mm1

From: Linus Torvalds
Date: Thu Jan 05 2006 - 19:36:02 EST




On Thu, 5 Jan 2006, Andrew Morton wrote:
> >
> > The only other strange thing is:
> > Jan 5 22:39:29 localhost kernel: PCI: Using IRQ router VIA [1106/3177] at
> > 0000:00:11.0
> > Jan 5 22:39:29 localhost kernel:
> > Jan 5 22:39:29 localhost kernel: PCI: IRQ 0 for device 0000:00:06.0 doesn't
> > match PIRQ mask - try pci=usepirqmask
> > Jan 5 22:39:29 localhost kernel: PCI: Sharing IRQ 5 with 0000:00:10.1
> > Jan 5 22:39:29 localhost kernel:
> > Jan 5 22:39:29 localhost kernel: PCI: IRQ 0 for device 0000:00:11.1 doesn't
> > match PIRQ mask - try pci=usepirqmask
> > but it is not new with -mm1.
>
> hm. That warning was added by a john@xxxxxxxxxx four years ago. Various
> PCI people cc'ed for suggestions, please.

That warning is totally bogus. It shouldn't be printed out at all when
"newirq" is 0 (as in this case).

Even for a non-zero newirq, I suspect that 99% of the time,
"pci=usepirqmask" would end up causing more problems than it could ever
solve.

But this diff would seem to be the minimal fix.

The other problems _look_ like they are -mm related, not in plain 2.6.15.
Etienne, can you confirm?

Linus
---
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c
index 19e6f48..ee8e016 100644
--- a/arch/i386/pci/irq.c
+++ b/arch/i386/pci/irq.c
@@ -846,7 +846,7 @@ static int pcibios_lookup_irq(struct pci
* reported by the device if possible.
*/
newirq = dev->irq;
- if (!((1 << newirq) & mask)) {
+ if (newirq && !((1 << newirq) & mask)) {
if ( pci_probe & PCI_USE_PIRQ_MASK) newirq = 0;
else printk(KERN_WARNING "PCI: IRQ %i for device %s doesn't match PIRQ mask - try pci=usepirqmask\n", newirq, pci_name(dev));
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/