In kernel 2.4.0 in alloc_uhci when doing request_irq()
Hi,
I am using an usual VIA MPV3 onboard USB device (on a AMD K6-II 400 machine), and it has ever worked fine on Linux (until including 2.4.0-test10). Now I wanted to use the "retail" 2.4.0-kernel, and USB gets stuck while booting. Last messages are:usb.c: registered new driver usbdevfsusb.c: registered new driver hubusb-uhci.c: $Revision: 1.251 $time 07:06:37 Jan 14 2001 usb-uhci.c: high bandwidth mode enabled
PCI: Assigned IRQ 10 for device 00:07.2usb-uhci.c: USB UHCI at I/O 0xe400, IRQ 10usb-uhci.c: Detected 2 portsusb.c: new USB bus registered, assigned bus number 1
That's all.
I debugged a while and noticed that the error occurs beyond drivers/usb/usb-uhci.c in the function alloc_uhci() after start_hc (s); when calling request_irq(), the line reads:
if (request_irq (irq, uhci_interrupt, SA_SHIRQ, MODNAME, s)) {The called function crashes somewhere on top, as I noticed. Is there a patch avariable, or should I do further investigation?
Thunder
---
I did a "cat /boot/vmlinuz >> /dev/audio" - and I think I heard god... -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
Quoted 13 lines · Thunder from the hill
I am using an usual VIA MPV3 onboard USB device (on a AMD K6-II 400 machine), and it has ever worked fine on Linux (until including 2.4.0-test10). Now I wanted to use the "retail" 2.4.0-kernel, and USB gets stuck while booting. Last messages are:
usb.c: registered new driver usbdevfsusb.c: registered new driver hubusb-uhci.c: $Revision: 1.251 $time 07:06:37 Jan 14 2001usb-uhci.c: high bandwidth mode enabled
PCI: Assigned IRQ 10 for device 00:07.2usb-uhci.c: USB UHCI at I/O0xe400, IRQ 10usb-uhci.c: Detected 2 portsusb.c: new USB bus registered, assigned bus number 1
Quoted 7 lines
That's all.
I debugged a while and noticed that the error occurs beyonddrivers/usb/usb-uhci.cin the functionalloc_uhci()afterstart_hc(s); when callingrequest_irq(), the line reads:if (request_irq (irq, uhci_interrupt, SA_SHIRQ, MODNAME, s)) {The called function crashes somewhere on top, as I noticed. Is there a patch avariable, or should I do further investigation?
No patches that I've seen. It sounds more like you have an IRQ routing problem and the IRQ isn't getting acknowledged correctly and is flooding the machine.
You can try putting a printk in uhci_interrupt to see how often it gets called.
Also, do you have a PnP setting in your BIOS? Can you try changing it?
JE
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/