public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Fix incorrect Asus k7m irq router detection
@ 2005-07-27  8:16 Giancarlo Formicuccia
  2005-07-27 16:48 ` Dave Jones
  0 siblings, 1 reply; 3+ messages in thread
From: Giancarlo Formicuccia @ 2005-07-27  8:16 UTC (permalink / raw)
  To: Greg KH, akpm; +Cc: linux-kernel, Aleksey Gorelov

Hi,

this patch:
http://marc.theaimsgroup.com/?l=bk-commits-head&m=111955644929114&w=2
uncovered a k7m bios bug, where the VT82C686A router is reported as
being "586-compatible". The two chips have different pirq mapping, so
this leads to "irq routing conflict" on many pci devices.

The suggested fix was discussed with Aleksey Gorelov, who helped me
to identify the problem as a probable bios bug.

Patch for 2.6.13-git4.

Signed-off-by: Giancarlo Formicuccia <giancarlo.formicuccia@gmail.com>

--- linux-2.6.13-rc3-git4/arch/i386/pci/irq.c.org	2005-07-27 08:58:05.000000000 +0200
+++ linux-2.6.13-rc3-git4/arch/i386/pci/irq.c	2005-07-27 08:59:29.000000000 +0200
@@ -550,6 +550,13 @@
 static __init int via_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
 {
 	/* FIXME: We should move some of the quirk fixup stuff here */
+
+	if (router->device == PCI_DEVICE_ID_VIA_82C686 &&
+			device == PCI_DEVICE_ID_VIA_82C586_0) {
+		/* Asus k7m bios wrongly reports 82C686A as 586-compatible */
+		device = PCI_DEVICE_ID_VIA_82C686;
+	}
+
 	switch(device)
 	{
 		case PCI_DEVICE_ID_VIA_82C586_0:



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

end of thread, other threads:[~2005-07-27 17:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <0EF82802ABAA22479BC1CE8E2F60E8C33D2D00@scl-exch2k3.phoenix.com>
2005-07-27 17:32 ` [PATCH] Fix incorrect Asus k7m irq router detection Dave Jones
2005-07-27  8:16 Giancarlo Formicuccia
2005-07-27 16:48 ` Dave Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox