On Sat, 28 Apr 2007, Mike Nuss wrote: > > This has nothing to do with polling or bInterval. The host controller is > > supposed to generate an interrupt at the start of each frame (once per > > millisecond) provided the appropriate IRQ-enable flag is set. INTR_SF == > > INTeRrupt at Start of Frame. These are the interrupts which apparently > > don't occur -- although your debugging may uncover other problems. > > So it seems like if the host controller were not generating INTR_SF at > all, the host wouldn't get data from any of the attached devices.
No, I don't think that's right. The data transfers work more or less independently from the Start Of Frame interrupts, because each time a transfer completes the host controller generates another IRQ -- or at least, it's supposed to. The SOF interrupts are needed pretty much only for unlinking URBs, which is why you see problems in the endpoint_disable routine (since part of disabling an endpoint is to unlink any outstanding URBs queued for that endpoint). > The > behavior I'm seeing is that one or more devices' read queues will 'lock > up' (and the problem doesn't become critical until the device is removed > and hcd_endpoint_disable is called) but the rest keep working. It sounds like there's something seriously wrong with the host controller hardware, and I don't mean just the SOF stuff. When the problem occurs you might be able to get some useful information from the OHCI debugging files in /sys/class/usb_host/usb_hostN/ where N is the bus number of the failing controller. (Note: these files are present only if you set CONFIG_USB_DEBUG when building the kernel.) Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel