On Wed, Aug 1, 2007 at 3:24 PM, David Brownell <[EMAIL PROTECTED]> wrote: > From: Mike Nuss <[EMAIL PROTECTED]> > > The ZF Micro OHCI controller exhibits unexpected behavior that seems to be > related to high load. Under certain conditions, the controller will > complete a TD, remove it from the endpoint's queue, and fail to add it to > the donelist. This causes the endpoint to appear to stop responding. Worse, > if the device is removed while in that state, OHCI will hang while waiting > for the orphaned TD to complete. The situation is not recoverable without > rebooting.
This fix turns out to be incomplete. I only wrote it to handle cases where INbound TDs were being lost (and it does work in those cases). But today I saw a case where an outbound TD seemed to be lost in the same fashion. In our environment most of the traffic is inbound, so we never hit the outbound error case until now. It should not be difficult to extend the patch to handle outbound cases. In fact, it's probably as simple as removing the test for ED_IN in check_ed. Unfortunately we're retiring our ZF-based design so I don't expect I'll have the resources to reproduce the error, let alone test the fix. I just wanted to put this information out there, so that if someone runs into it in the future, it'll be a known issue. Mike - To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
