Re: jsm: remove buggy write queue

From: Greg KH
Date: Thu Sep 22 2011 - 19:01:07 EST


On Tue, Sep 13, 2011 at 02:55:23PM -0300, Thadeu Lima de Souza Cascardo wrote:
> jsm uses a write queue that copies from uart_core circular buffer. This
> copying however has some bugs, like not wrapping the head counter. Since
> this write queue is also a circular buffer, the consumer function is
> ready to use the uart_core circular buffer directly.
>
> This buggy copying function was making some bytes be dropped when
> transmitting to a raw tty, doing something like this.
>
> [root@hostname ~]$ cat /dev/ttyn1 > cascardo/dump &
> [1] 2658
> [root@hostname ~]$ cat /proc/tty/drivers > /dev/ttyn0
> [root@hostname ~]$ cat /proc/tty/drivers
> /dev/tty /dev/tty 5 0 system:/dev/tty
> /dev/console /dev/console 5 1 system:console
> /dev/ptmx /dev/ptmx 5 2 system
> /dev/vc/0 /dev/vc/0 4 0 system:vtmaster
> jsm /dev/ttyn 250 0-31 serial
> serial /dev/ttyS 4 64-95 serial
> hvc /dev/hvc 229 0-7 system
> pty_slave /dev/pts 136 0-1048575 pty:slave
> pty_master /dev/ptm 128 0-1048575 pty:master
> unknown /dev/tty 4 1-63 console
> [root@hostname ~]$ cat cascardo/dump
> /dev/tty /dev/tty 5 0 system:/dev/tty
> /dev/console /dev/console 5 1 system:console
> /dev/ptmx /dev/ptmx 5 2 system
> /dev/vc/0 /dev/vc/0 4 0 system:vtmaste[root@hostname ~]$
>
> This patch drops the driver write queue entirely, using the circular
> buffer from uart_core only.
>
> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxxxxxx>
> ---
>
> Hello, Greg.
>
> This should probably go to 3.1 and stable releases, since it fixes a
> bug.

I already have this in my tree queued up for 3.2, so please remind me of
this when it hits Linus's tree during the 3.2 merge window.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/