On Tue, 9 Mar 2010, Felipe Balbi wrote: > On Tue, Mar 09, 2010 at 06:54:30AM -0800, Greg KH wrote: > > Why is this needed? Why not just use the serial driver instead? That > > should provide you with exactly the same end result, right? > > we experienced several problems with tty layer. The biggest of them is > a race between flush_to_ldisc() and ->receiv_buf() which makes the line > discipline (I guess only n_tty) loose bytes in some circumstances. Shouldn't you fix this, instead of just working around it? A bug like that would affect lots of other people too. > On top of that there's also the performance issues with tty. the > u_serial.c forces us to push each bMaxPacketSize packet to the > controller driver which prevents us from actually getting some good deal > out of the DMA engine. With u_char.c we are unloading based on what's in > the kfifo right now (maybe we should use PAGE_SIZE transfers since our > kfifo is allocated using vmalloc()), and we can easily optimize that on > a per-product basis. Can u_serial be changed to support the sort of operation you want (by adding a module parameter if necessary)? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html