If you can pad out packets with something innocuous like zeroes,
as I saw recommended with some other operating system recently,
then 2.4 should let you do this easily. Your completion routine
(for each interrupt-out transfer) should be able to go like:

if (0 bytes left)
unlink this urb
record timestamp
else if (1..maxpacket bytes left)
copy partial packet into urb's buffer
zero pad to make it a full packet
else
copy full packet into urb's buffer

and then implicitly resubmit.
Good idea. But it took over a second, until the completion handler
got called the first time. I'm using kernel 2.4.18.

The timestamp is so that the next
time you need to send data you can schedule_timeout(), or set
a timer (not mdelay!), so you don't send the message too soon.

That's probably about the cleanest you'll get for now, I think
those "unlink in completion" bugs got fixed in all 2.4 HCDs,
but I'd still encourage you to test carefully.

- Dave


Thanks for your time.

	Thomas Wahrenbruch




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to