On Sun, May 16, 2004 at 08:45:54AM -0700, Pete Zaitcev wrote: > This patch resolves the following problems. > > When tty is in cooked mode, line discipline echoes characters by using > ->write method in tty driver. In case of usbserial, this path takes > a semaphore, which oopses. Note that when "low latency" flag is not > set, oops does not happen, but sleeping in a write is not a good thing > to do anyway. The patch addresses this by off-loading the write into > a process context, borrowed from keventd. The 2.6 has a cleaner approach, > but it changes some basic assumptions, so we're not taking that path. > > Incidentially, the ->write_room method was not playing with existing > line disciplines well. We returned either the block size (16 to 64) > when a transfer was not active, or zero when it was active. However, > tty layer interpreted it as a number of bytes free in FIFO. When it > wanted to write two bytes, it would get room, see 16, proceed with > writing one byte (taking whole URB), then another (this one fails). > I think this might not be fixed in 2.6 yet > > Also, I replaced checks for EINPROGRESS (which are like sleep_on: 99% bug). > > Greg retains the maintainership of usbserial for the time being, but > he approved the post_helper for 2.4.
Looks fine to me. Marcelo, apply away :) thanks, greg k-h ------------------------------------------------------- This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months! http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel