From: Daniel Goertzen
> Sent: 24 October 2018 17:47
> 
> I am developing a custom USB device that makes use of isochronous IN
> transfers.  It works fine from my laptop (xHCI) however on an embedded
> target (vortex86dx3, EHCI) I am seeing mysterious EFBIG errors.  After
> adding lots of debug to ehci-sched I discovered that the EHCI register
> "FRINDEX" which is supposed to increase monotonically, is actually
> taking a jump backwards:

What happens if you read the register twice - do you get the same value.
It might be that the hardware is failing to synchronise the counter
to the host bus clock and generates garbage during an increment.
Such errors can be a complete mix of the old and new values, not just
a 'carry chain' error.
If the two reads give different values a third one should be correct
(even if it differs from the second one).

        David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, 
UK
Registration No: 1397386 (Wales)

Reply via email to