Re: [PATCH v2 3/6] TTY: serial, remove tasklet for tty_wakeup

From: Alan Cox
Date: Tue Jul 19 2011 - 12:32:29 EST


On Thu, 14 Jul 2011 14:35:12 +0200
Jiri Slaby <jslaby@xxxxxxx> wrote:

> tty_wakeup can be called from any context. So there is no need to have
> an extra tasklet for calling that. Hence save some space and remove
> the tasklet completely.
>
> Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxx>
> Cc: Alan Cox <alan@xxxxxxxxxxxxxxx>
> ---
> drivers/tty/serial/serial_core.c | 20 +-------------------
> include/linux/serial_core.h | 1 -
> 2 files changed, 1 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/tty/serial/serial_core.c
> b/drivers/tty/serial/serial_core.c index 2cbf1bd..4786232 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -72,7 +72,7 @@ void uart_write_wakeup(struct uart_port *port)
> * closed. No cookie for you.
> */
> BUG_ON(!state);
> - tasklet_schedule(&state->tlet);
> + tty_wakeup(state->port.tty);

Probably worth noting that this is only safe if the uart locks are held
and because of the current lock/ref drop combinations in the
serial_core code otherwise it can race with hangup...
--
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/