Dave Anders wrote:
> exactly, i just finished tracing this problem down and started looking 
> at what i could do to make this work properly. i've already begun 
> experimenting with different solutions for this, however nothing solid yet.

There are lots of ways to fix this, here is one way...

Add a buffer to the driver for writes (it does not even need to be
a circular buffer).  When write is called, if the write urb is in
progress, just put the data in the write buffer.  If the urb is
available, write the data from the buffer plus whatever new data
you can fit in the urb.

Change write_room to return the amount of space in the buffer.

The digi_acceleport driver does something like this--you can
look at that.

-- Al

Al Borchers
Contractor
Tel 651-582-6382


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