On Fri, Sep 14, 2001 at 06:09:52PM -0700, Jean Tourrilhes wrote: 

> Questions :
>       Why the completion handler is not called on timeout in this case ?

Timeoutchecking is done by an UHCI interrupt, which is activated on demand
if there are URBs with a set timeout. If the host controller itself dies,
this interrupt dies, too.

>       Why transfer always fail ?

You've written "generic USB card", which is usually a VIA chip. This chip
has at least one bug/flaw/funny-behavior, which kills all processing if a
babble is encountered. No error interrupts, it's simply dead. Sometimes a
module reload helps, sometimes a HW reset is necessary. This flaw is not
reproducible in Windows, and I'm still wondering what they are doing to
prevent it. 

I don't know if your behaviour is related, but you can check this: Does
unplug/replug of an USB device still work after the IRDA-death, are the
UHCI-interrupts incrementing? If not, you've hit the problem.

>       Why usb-uhci lock the box on removal ?

That's definitely a bug, can you check with alt-sys-req-p if the box still
lives (and where...)

>       What's going on ?

Good question...

PS: If this bug is lurking around for over 6 months when IRDA is used, why
I'm heearing it now for the first time?

-- 
         Georg Acher, [EMAIL PROTECTED]         
         http://www.in.tum.de/~acher/
          "Oh no, not again !" The bowl of petunias          

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to