Re: serverworks usb under 2.4.22

From: rico-linux-kernel
Date: Fri Nov 14 2003 - 04:02:10 EST


>From: Ingo Oeser <ioe-lkml@xxxxxxxxxx>
>Date: Fri, 14 Nov 2003 08:51:00 +0100
>...
>I for one need to pass "noapic" on the kernel command line. Otherwise
>the IRQ routing is broken, I can't get the USB IRQ and the kernel complains.
>a lot about a broken APIC IRQ routing.
>
>My board is an ASUS CUR-CLS. The chipset there is "ServerWorks LE".

Ingo,

My ServerWorks HE chipset is a close cousin. The common BIOS was written
by Intergraph, and marketed by Phoenix. It somehow fails to communicate
its decisions about IRQ routing to Linux. One may get lucky by moving
hardware around but, with the following patch, you are guaranteed use
of the chipset USB while still enjoying the IO-APIC. Patch has been
necessary from 2.4.0 through 2.4.17 and, by the sounds of it, to current
2.4 versions.

You must edit the patch to use the correct IRQ for your hardware config
(11 in my case). To determine the IRQ, access USB hardware while
monitoring interrupt counts in /proc/stat

--------start of patch--------------------------------------------------
*** usb-ohci.c.orig Mon Dec 31 11:35:13 2001
--- usb-ohci.c Mon Dec 31 12:10:39 2001
***************
*** 2581,2601 ****
--- 2581,2605 ----

mem_base = ioremap_nocache (mem_resource, mem_len);
if (!mem_base) {
err("Error mapping OHCI memory");
return -EFAULT;
}

/* controller writes into our memory */
pci_set_master (dev);

+ #if 0
return hc_found_ohci (dev, dev->irq, mem_base, id);
+ #else
+ return hc_found_ohci (dev, 11, mem_base, id);
+ #endif
}

/*-------------------------------------------------------------------------*/

/* may be called from interrupt context [interface spec] */
/* may be called without controller present */
/* may be called with controller, bus, and devices active */

static void __devexit
ohci_pci_remove (struct pci_dev *dev)
--------end of patch--------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/