Re: [PATCH] [tty]: Report warning when low_latency flag is wrongly used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12-10-24 08:35 AM, Ivo Sieben wrote:
> When a driver has the low_latency flag set and uses the schedule_flip()
> function to initiate copying data to the line discipline, a workqueue is
> scheduled in but never actually flushed. This is incorrect use of the
> low_latency flag (driver should not support the low_latency flag, or use
> the tty_flip_buffer_push() function instead). Make sure a warning is
> reported to catch incorrect use of the low_latency flag.
> 
> This patch goes with: cee4ad1ed90a0959fc29f9d30a2526e5e9522cfa

Ideally you shouldn't put commit IDs in the commit log when they
are not "permanent" (i.e. already part of mainline).  For example,
I have no idea what cee4ad1e contains, or what tree it lives in,
and I can't even search for it, since you've not also included
the short log.

Paul.
--

> 
> Signed-off-by: Ivo Sieben <meltedpianoman@xxxxxxxxx>
> 
> ---
>  drivers/tty/tty_buffer.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
> index 06725f5..6cf87d7 100644
> --- a/drivers/tty/tty_buffer.c
> +++ b/drivers/tty/tty_buffer.c
> @@ -365,6 +365,7 @@ void tty_schedule_flip(struct tty_struct *tty)
>  {
>  	struct tty_bufhead *buf = &tty->port->buf;
>  	unsigned long flags;
> +	WARN_ON(tty->low_latency);
>  
>  	spin_lock_irqsave(&buf->lock, flags);
>  	if (buf->tail != NULL)
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux