Re: "Multiple entries for PCI IRQ 16" and "xlock already held" panics on 5.3-BETA(3,4,5)

From: Pavel Gubin <pg_at_ie.tusur.ru>
Date: Thu, 23 Sep 2004 23:59:40 +0700
On Thu, Sep 23, 2004 at 11:32:45AM -0400, John Baldwin wrote:

> > > I/O Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
> > > 		INT	active-lo       level	     0	 2:A	      2	  16
> > > 		INT	active-lo       level	     0	 2:A	      2	  23
> >
> > This is the real bug and I guess I can improve the message.  Then problem
> > is not two lines for IRQ 16, but that the PCI interrrupt for bus 0, device
> > 2, pin #A has two different IRQs listed, so we don't know which one we are
> > supposed to use.  This is definitely a BIOS bug and your motherboard
> > manufacturer needs to harassed into giving you a BIOS update.
> 
> Also, I have a patch to make the error message more useful if you want to try 
> it:

  Ok, thanks, I'll try it tomorrow, but even without trying I can see it's
much more informative :)

> --- //depot/vendor/freebsd/src/sys/i386/i386/mptable.c	2004/07/01 07:50:36
> +++ //depot/user/jhb/acpipci/i386/i386/mptable.c	2004/09/23 14:34:52
> _at__at_ -935,7 +935,9 _at__at_
>  	if (args->vector == vector)
>  		return;
>  	KASSERT(args->vector == -1,
> -	    ("Multiple entries for PCI IRQ %d", args->vector));
> +	    ("Multiple IRQs for PCI interrupt %d.%d.INT%c: %d and %d\n",
> +	    args->bus, args->irq >> 2, 'A' + (args->irq & 0x3), args->vector,
> +	    vector));
>  	args->vector = vector;
>  }

-- 
Pavel Gubin
TUSC&R / Industrial Electronics dept / System Administrator
2:5005/14_at_fidonet / Phone +7-3822-423067 / ICQ 28835566
Received on Thu Sep 23 2004 - 15:01:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:13 UTC