Hello Alan,
24.01.2012 22:30, Alan Stern:
On Tue, 24 Jan 2012, Nikolai Zhubr wrote:
Hello Alan,
24.01.2012 19:45, Alan Stern:
[trim]
Does this mean that the hardware has only one FIFO? Or only one for
each direction? That's a pretty limited design.
Just to be precise. I've checked this again. Unfortunately in my
specific device dedicated FIFOs are not present. In other words, only
one Tx FIFO is available indeed. The driver does understand this, but
see yet another comment extracted from the code regarding the mismatch
error (follows below). I'd note that the actions suggested in its second
part are not implemented anywhere, the handler just dumps debug info and
exits. The "IN Token Queue Registers" always show zeroes. And this is
put into real products! Makes me wonder.
Yes, probably the design is so limited that it maybe isn't worth fixing
in the driver, but what is frustrating is that it _almost_ works...
I think I'll stop bothering the lists with this comedy for now, though
maybe I'll still do some experiments later and report my results (if any).
Thank you.
Nikolai
/**
* This interrupt indicates that EP of the packet on the top of the
* non-periodic Tx FIFO does not match EP of the IN Token received.
*
* The "Device IN Token Queue" Registers are read to determine the
* order the IN Tokens have been received. The non-periodic Tx FIFO
* is flushed, so it can be reloaded in the order seen in the IN Token
* Queue.
*/
--
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