> From: Alan Stern [mailto:[EMAIL PROTECTED] > > Please configure your email client to wrap lines after 75 columns or so.
Sorry about that. > Look at ohci-hcd.c:ohci_endpoint_disable(). There's a "switch(ed->state)" > line; see what it does in the ED_UNLINK case. It retries for up to 1000 > ms, waiting for ed->state to change to ED_IDLE. That's where the "IRQ > INTR_SF lossage" message comes from, if ed->state never changes. I have indeed looked in there; it was originally where I thought the problem was coming from. It's interesting that you say it should retry for up to 1000 ms. schedule_timeout_uninterruptible(1) sleeps for one kernel tick, correct? And the limit is decreased by one each time through the loop. So for smaller values of HZ, it would retry for longer. Was this the intended behavior? > > > It seems like that this point, we know the device is long gone, so there > > should be some way to force the issue. > > What matters isn't the device -- it's the USB host controller's internal > state. Of course. Which reminds me - there's a comment in ohci-pci.c: /* Check for Compaq's ZFMicro chipset, which needs short * delays before control or bulk queues get re-activated * in finish_unlinks() */ This is the chipset I'm using (and the quirk is enabled). Is it possible there's also an issue with interrupt queues handling? I don't know what the issue was that led to the creation of the quirk, but it seems like it's in the same ballpark. I think it's pretty clear there's an underlying hardware issue, but maybe there is a workaround. I added the additional debug code you suggested to get a better idea of what finish_unlinks() is doing (or not doing). Thanks, Mike ------------------------------------------------------------------------- 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