Re: Problems with ASMedia ASM1042 SuperSpeed USB Host

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 16, 2012 at 10:56:05AM -0400, Alan Stern wrote:
> On Mon, 16 Jul 2012, Ingo Rohloff wrote:
> 
> > Hello,
> > 
> > I have some problems with an ASM1042 SuperSpeed Host Controller.
> > (IvyBridge + PantherPoint Motherboard).
> > I also read some comments that this particular Host Controller might have some problems, but I could
> > not find any details.
> 
> > Each URB tries to read up to 0x4000 bytes from Endpoint 0x85.
> > The device should send 0x2FFE bytes.
> > My assumption was, that every 12th packet only contains 0x3FE bytes and thus stops the currently
> > active URB.
> > 
> > It seems the ASM1042 sometimes does not stop the transfer after receiving a short packet, or at
> > least the URB continues (stopping after 16KByte).
> > 
> > QUESTION: Is this a known problem or am I doing something wrong ?
> 
> See
> 
> 	http://marc.info/?l=linux-usb&m=134236551409964&w=2
> 
> Apparently the ASM1042 reports that a transfer completed normally even 
> when it was short (or when it was cancelled).

When an URB is canceled, the xHCI driver asks the endpoint ring to be
stopped.  However, the transfer may be completed before the ring stops,
so we can have a canceled transfer where the full buffer really was
transferred.  I don't see that as a bug, it's just a race condition that
drivers need to deal with.

> xHCI controllers in general do not stop transfers after receiving a
> short packet.  Apparently there's no way to tell them to stop under
> those circumstances.

Yes, this really sounds like it's related to the libusb
BULK_CONTINUATION flag issue.

Sarah Sharp
--
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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux