Re: usb on amd-756 broken since 2.6.6

From: Alan Cox
Date: Sat Oct 02 2004 - 13:13:50 EST


On Sad, 2004-10-02 at 14:02, Gerard H. Pille wrote:
> The last kernel on which I could succesfully mount /proc/bus/usb and
> "cat /proc/bus/usb/devices" is 2.6.5, since then, the cat hangs. I am
> not sure if the trouble starts with 2.6.6 or 2.6.7, since I can not boot
> with 2.6.6, the boot hangs on the hdd, a cdrom. If I could find patches
> to get 2.6.6 working, I might be able to further narrow it down.
>
> In /var/log/messages, I only see this "kernel: usb 1-2: control timeout
> on ep0in".

This is not AMD specific - the core USB code is broken in the event of
that control timeout occuring. I see the same hang on an Intel ICH6M
platform.

I've done a quick review of the semaphores and didn't see an obvious
cause although I did find a glaring error on a different unused path.
(Oh and although it isn't fixed - that isnt how busses pluralises either
)

--- drivers/usb/core/hcd.c~ 2004-10-02 19:01:30.764022672 +0100
+++ drivers/usb/core/hcd.c 2004-10-02 19:01:30.784019632 +0100
@@ -708,6 +708,7 @@
bus->busnum = busnum;
} else {
printk (KERN_ERR "%s: too many buses\n", usbcore_name);
+ up(&usb_bus_list_lock);
return -E2BIG;
}


-
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/