From: Manfred Spraul <manfred@colorfullife.com>
To: Tom Winkler <tiger@tserver.2y.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Vaio IRQ routing / USB problem
Date: Sun, 04 Nov 2001 15:13:56 +0100 [thread overview]
Message-ID: <3BE54D24.A4F4848D@colorfullife.com> (raw)
In-Reply-To: <3BE5201F.78A6B811@colorfullife.com> <008e01c16531$87ee0350$0200a8c0@piii450>
[-- Attachment #1: Type: text/plain, Size: 716 bytes --]
[cc to linux-kernel added]
Tom Winkler wrote:
>
> usb-uhci.c: High bandwidth mode enabled
> IRQ for 00:1f.2:3 -> PIRQ 63, mask 0200, excl 0000 -> newirq=9 -> got IRQ
> 10
> PCI: Found IRQ 10 for device 00:1f.2
> IRQ routing conflict for 00:1f.2, have irq 9, want irq 10
> PCI: Setting latency timer of device 00:1f.2 to 64
That's interesting. It's obivously a bios bug:
The USB controller only supports interrupt 9 (mask==0x200 -->bit 9), is
right now running on irq 9 according to the bios data.
But according to the piix irq router, it's connected to irq 10.
First we must figure out where the bios lies. Could you try the attached
patches?
The patches are alternatives, first try option 1, then option 2.
--
[-- Attachment #2: patch-vaio-option-1 --]
[-- Type: text/plain, Size: 519 bytes --]
--- 2.4/arch/i386/kernel/pci-irq.c Sat Nov 3 19:51:08 2001
+++ build-2.4/arch/i386/kernel/pci-irq.c Sun Nov 4 14:48:58 2001
@@ -626,7 +626,7 @@
continue;
if (info->irq[pin].link == pirq) {
/* We refuse to override the dev->irq information. Give a warning! */
- if (dev2->irq && dev2->irq != irq) {
+ if (dev2->irq && dev2->irq != irq && 0) {
printk(KERN_INFO "IRQ routing conflict for %s, have irq %d, want irq %d\n",
dev2->slot_name, dev2->irq, irq);
continue;
[-- Attachment #3: patch-vaio-option-2 --]
[-- Type: text/plain, Size: 788 bytes --]
--- 2.4/arch/i386/kernel/pci-irq.c Sat Nov 3 19:51:08 2001
+++ build-2.4/arch/i386/kernel/pci-irq.c Sun Nov 4 15:09:40 2001
@@ -629,6 +629,18 @@
if (dev2->irq && dev2->irq != irq) {
printk(KERN_INFO "IRQ routing conflict for %s, have irq %d, want irq %d\n",
dev2->slot_name, dev2->irq, irq);
+ if (!strcmp(msg, "Found")) {
+ /* ok, the bios lied. Try to recover */
+ if (r->set && (dev->class >> 8) != PCI_CLASS_DISPLAY_VGA) {
+ printk(KERN_ERR "trying set.\n");
+ if (r->set(pirq_router_dev, dev2, pirq, dev2->irq)) {
+ printk(KERN_ERR "set succedded.\n");
+ eisa_set_level_irq(dev2->irq);
+ } else {
+ printk(KERN_ERR "set failed.\n");
+ }
+ }
+ }
continue;
}
dev2->irq = irq;
next prev parent reply other threads:[~2001-11-04 14:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-04 11:01 Vaio IRQ routing / USB problem Manfred Spraul
2001-11-04 14:04 ` Jeff Garzik
2001-11-04 18:47 ` Tom Winkler
[not found] ` <008e01c16531$87ee0350$0200a8c0@piii450>
2001-11-04 14:13 ` Manfred Spraul [this message]
-- strict thread matches above, loose matches on Subject: below --
2001-11-29 17:48 Jan Slupski
2001-11-04 10:18 Tom Winkler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3BE54D24.A4F4848D@colorfullife.com \
--to=manfred@colorfullife.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tiger@tserver.2y.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox