Hi Geoff, Thanks for letting us know about the problem. Sorry for such a late responce. Geoff Levand wrote: > The commit 'USB: ehci-hcd unlink speedups' has a problem on PS3, and > I guess other Cell based systems using the USB controller in the > Toshiba Cell Super Companion Chip (SCC). We examined what caused the problem, however we were not able to reproduce the problem on SCC. We used a configuration with CONFIG_PM=y and CONFIG_USB_SUSPEND=y. It seems that the problem may be caused by connected device or its usage but not caused by SCC. > The problem is caused by the change below. > > It seems the frame_index register of the SCC does not increment when the > USB device is idle, so the system often gets into a state where start_unlink_async() > is not called, leaving the async timer continually being re-enabled via > the 'action = TIMER_ASYNC_SHRINK' path. It seems the problem is not unique to SCC. We have also tested on x86 PC with ICH10 USB2 ECHI controller and got the same problem. The frame_index register does not increment at the idle state. > This also causes the BUG below when the system shuts down. It seems to > be because there are still a few unlinked entries in qh->qtd_list > that qh_destroy() tests for. It seems there are two possibe causes. The one is that USB device changed to idle state when the queue is not empty. The other one is USB device does not return to running state when a new request comes at idle state. -- Yoshi -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html