tech-kern archive

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

Re: Potential problem with reading data from usb devices with ugen(4)



	Hello.  I'm making a lot of progress over here on this improved
driver.  I have a question that I am not finding the answer to easily and
I'm hoping someone can point me in the right direction.

	It's possible for USB transfers to be 16384 bytes in length.  Our USB
system seems to prefer breaking these down into 1024 byte transfers.  My
question is this:
	
When I'm reading from a usb device, I can use usbd_get_xfer_status() to get
the size of the just completed transfer. Is there a way to determine if
that transfer is part of a chain of transfers that should be recombined
into one large transfer?  For example, something that says: here's the
first 1024 bytes of a 4096 byte transfer?  I see references to length and
actlen in the xfer structure that gets passed around in the  usb subsystem,
and the count variable you get from the usbd_get_xfer_status() call is the
value of the actlen field of the xfer structure.  However, I don't see a
way to figure out  if a transfer completion notice is in and of itself a
complete usb transaction or, as I say, if it's part of a chain of
transfers.  Or, in short, I don't see how to get the length field out of
the xfer structure using the API's provided.

Ideas?

-thanks
-Brian



Home | Main Index | Thread Index | Old Index