I am supporting a Peripheral Controller Driver (PCD)
for a USB device (hw and fw from a vendor) that
refuses to deliver data to its gadget driver client
when the data ends on a MaxPacketSize boundary (512 in
this case).  

The requests submitted to the PCD have an 8K buffer
and the incoming data length happens to be 4K in this
case.

I believe a ZLP from the host would force this driver
to deliver the data in a partially filled buffer to
the gadget driver, but I haven't verified this yet. It
appears that USB host drivers don't do this
automatically, and the apps I'm using don't either. 

A workaround is for my gadget driver to submit
requests to the PCD that contain buffers which are
MAXP in size. This enables the PCD to either fill a
buffer or get a short packet interrupt. Not very
appealing due to the extra interrupt handling.

Any advice or shared experiences on solving this type
of problem would be appreciated.

Thanks,

Skip Rafferty


       
____________________________________________________________________________________
Be a better Globetrotter. Get better travel answers from someone who knows. 
Yahoo! Answers - Check it out.
http://answers.yahoo.com/dir/?link=list&sid=396545469

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to