linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* pci_enable_device reports IRQ routing conflict
@ 2001-12-17 15:41 Kevin Curtis
  2001-12-17 22:13 ` Kai Germaschewski
  0 siblings, 1 reply; 3+ messages in thread
From: Kevin Curtis @ 2001-12-17 15:41 UTC (permalink / raw)
  To: linux-kernel

Hi,
	I am updating a driver for a pci card that has two variants (a long
established and working variant and one with updated hardware), but both are
handled by the same driver.  They are identified with the same vendor id but
a different device id.  During driver initialisation I probe for the cards,
and set them up in terms of getting irq's, io and memory etc.  

The first card has irq5 returned from pci_find_device, the second has irq9
returned.

However when I call pci_enable_device for the second card I get the
following kernel log message:

Dec 17 15:06:37 minion kernel: IRQ routing conflict for 00:0b.0, have irq 9,
want irq 5

The call didn't return an error, so I assume this was a non-fatal.  

I can't see anything wrong with the pci_dev structures, and even when I
probe for the cards in the reverse order I still get the same error message.

When I only have one of the cards present in the system when I load the
driver, then there aren't any problems, it's only when both are physically
installed that the error message is produced.

Has anyone got any ideas where to look to debug this?

I am using RH 7.2 with Kernel 2.4.16

The card
Kevin Curtis

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: pci_enable_device reports IRQ routing conflict
  2001-12-17 15:41 pci_enable_device reports IRQ routing conflict Kevin Curtis
@ 2001-12-17 22:13 ` Kai Germaschewski
  0 siblings, 0 replies; 3+ messages in thread
From: Kai Germaschewski @ 2001-12-17 22:13 UTC (permalink / raw)
  To: Kevin Curtis; +Cc: linux-kernel

On Mon, 17 Dec 2001, Kevin Curtis wrote:

> However when I call pci_enable_device for the second card I get the
> following kernel log message:
> 
> Dec 17 15:06:37 minion kernel: IRQ routing conflict for 00:0b.0, have irq 9,
> want irq 5

This means that config space (supposedly set up by the BIOS) reports IRQ 9 
for the device, but the IRQ router really routes it to IRQ 5.

> The call didn't return an error, so I assume this was a non-fatal.  

Well, the kernel currently ignores its knowledge about the router and 
trusts the BIOS. Which most likely means that the IRQ won't work.

(Note that in general you should access dev->irq only after calling 
pci_enable_device())

> Has anyone got any ideas where to look to debug this?

#define DEBUG

in arch/i386/kernel/pci-i386.h will give some debugging output on the next 
boot, which should help.

--Kai




^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: pci_enable_device reports IRQ routing conflict
@ 2001-12-18 16:16 Kevin Curtis
  0 siblings, 0 replies; 3+ messages in thread
From: Kevin Curtis @ 2001-12-18 16:16 UTC (permalink / raw)
  To: 'Kai Germaschewski'; +Cc: linux-kernel

Hi,
	thanks for your advice.  Adding debug produced one other message in
the Kernel log:

IRQ for 00:0a.0:0 -> PIRQ 03, mask deb8, excl 0e20 -> newirq=9 -> got IRQ 10
IRQ routing conflict for 00:0a.0, have irq 9, want irq 10

I think my testing shows that actual irq's assigned are as indicated by the
"have irq" field.  And that as far as I can tell at the moment everything
seems to work OK.

Regards

Kevin

-----Original Message-----
From: Kai Germaschewski [mailto:kai@tp1.ruhr-uni-bochum.de]
Sent: 17 December 2001 22:13
To: Kevin Curtis
Cc: linux-kernel@vger.kernel.org
Subject: Re: pci_enable_device reports IRQ routing conflict


On Mon, 17 Dec 2001, Kevin Curtis wrote:

> However when I call pci_enable_device for the second card I get the
> following kernel log message:
> 
> Dec 17 15:06:37 minion kernel: IRQ routing conflict for 00:0b.0, have irq
9,
> want irq 5

This means that config space (supposedly set up by the BIOS) reports IRQ 9 
for the device, but the IRQ router really routes it to IRQ 5.

> The call didn't return an error, so I assume this was a non-fatal.  

Well, the kernel currently ignores its knowledge about the router and 
trusts the BIOS. Which most likely means that the IRQ won't work.

(Note that in general you should access dev->irq only after calling 
pci_enable_device())

> Has anyone got any ideas where to look to debug this?

#define DEBUG

in arch/i386/kernel/pci-i386.h will give some debugging output on the next 
boot, which should help.

--Kai



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-12-18 16:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-12-17 15:41 pci_enable_device reports IRQ routing conflict Kevin Curtis
2001-12-17 22:13 ` Kai Germaschewski
2001-12-18 16:16 Kevin Curtis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).