public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: Grzegorz Kulewski <kangur@polcom.net>
Cc: Andrew Morton <akpm@osdl.org>,
	ACPI List <acpi-devel@lists.sourceforge.net>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [ACPI] Re: Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB
Date: Fri, 11 Mar 2005 13:56:39 -0700	[thread overview]
Message-ID: <1110574599.4822.54.camel@eeyore> (raw)
In-Reply-To: <Pine.LNX.4.62.0503112009070.22293@alpha.polcom.net>

On Fri, 2005-03-11 at 20:36 +0100, Grzegorz Kulewski wrote:
> On Fri, 11 Mar 2005, Bjorn Helgaas wrote:
> > Can you check to see whether there are any BIOS updates available
> > for your box?  It looks to me like your USB controllers are wired
> > to IRQ9, and that's how the BIOS is leaving them configured.
> 
> And if this is a BIOS issue then why it worked for 3 years with all 
> kernels up to at least 2.6.9

Good point.

Thanks for posting the 2.6.9 output as well.  It contains this:

    ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10
    ACPI: PCI interrupt 0000:00:07.2[D] -> GSI 10 (level, low) -> IRQ 10
    ACPI: PCI interrupt 0000:00:07.3[D] -> GSI 10 (level, low) -> IRQ 10
    PCI: Via IRQ fixup for 0000:00:07.2, from 9 to 10
    PCI: Via IRQ fixup for 0000:00:07.3, from 9 to 10

In 2.6.9, we did all the ACPI IRQ routing early, then did the
Via IRQ fixups.  In 2.6.11, ACPI IRQ routing is done only when
a driver claims a device, and the Via IRQ fixup is done a little
differently.  In fact, the Via fixup happens before we twiddle
the IOAPIC, where in 2.6.9, it happened after.

Can you try the attached patch to see whether it makes any
difference?

===== drivers/acpi/pci_irq.c 1.37 vs edited =====
--- 1.37/drivers/acpi/pci_irq.c	2005-03-01 09:57:29 -07:00
+++ edited/drivers/acpi/pci_irq.c	2005-03-11 13:45:56 -07:00
@@ -30,6 +30,7 @@
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/types.h>
+#include <linux/delay.h>
 #include <linux/proc_fs.h>
 #include <linux/spinlock.h>
 #include <linux/pm.h>
@@ -438,10 +439,19 @@
 		}
  	}
 
-	if (via_interrupt_line_quirk)
-		pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq & 15);
-
 	dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);
+
+	if (via_interrupt_line_quirk) {
+		u8 old_irq, new_irq = dev->irq & 0xf;
+
+		pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &old_irq);
+		if (new_irq != old_irq) {
+			printk(KERN_INFO PREFIX "Via IRQ fixup for %s, from %d "
+				"to %d\n", pci_name(dev), old_irq, new_irq);
+			udelay(15);
+			pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
+		}
+	}
 
 	printk(KERN_INFO PREFIX "PCI interrupt %s[%c] -> GSI %u "
 		"(%s, %s) -> IRQ %d\n",



  reply	other threads:[~2005-03-11 21:03 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20050304234622.63e8a335.akpm@osdl.org>
2005-03-10 23:08 ` Fw: Anybody? 2.6.11 (stable and -rc) ACPI breaks USB Grzegorz Kulewski
2005-03-11 16:48   ` [ACPI] " Bjorn Helgaas
2005-03-11 19:36     ` Grzegorz Kulewski
2005-03-11 20:56       ` Bjorn Helgaas [this message]
2005-03-11 21:47         ` Grzegorz Kulewski
2005-03-11 22:29           ` Bjorn Helgaas
2005-03-12  0:13             ` Grzegorz Kulewski
2005-03-13 15:14             ` Grzegorz Kulewski
2005-03-15 19:35               ` Bjorn Helgaas
2005-03-15 23:02                 ` Zwane Mwaikambo
2005-03-16 16:10                   ` Bjorn Helgaas
2005-03-17  1:33                     ` Li Shaohua
2005-03-17 18:08                       ` Bjorn Helgaas
2005-03-18  1:09                         ` Li Shaohua
2005-03-18 18:07                           ` Bjorn Helgaas
2005-03-21 16:33                             ` Bjorn Helgaas
2005-03-21 23:33                               ` Grzegorz Kulewski
2005-03-22 20:57                                 ` Bjorn Helgaas
2005-03-23  0:54                                   ` Li Shaohua
2005-03-23  3:57                                     ` Bjorn Helgaas
2005-03-23 18:40                                       ` Len Brown
2005-03-24 18:24                                         ` Bjorn Helgaas
2005-03-25 19:07                                           ` Len Brown
2005-03-14  9:30 Li, Shaohua

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=1110574599.4822.54.camel@eeyore \
    --to=bjorn.helgaas@hp.com \
    --cc=acpi-devel@lists.sourceforge.net \
    --cc=akpm@osdl.org \
    --cc=kangur@polcom.net \
    --cc=linux-kernel@vger.kernel.org \
    /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