diff options
Diffstat (limited to 'drivers/char/tty_ldisc.c')
-rw-r--r-- | drivers/char/tty_ldisc.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/char/tty_ldisc.c b/drivers/char/tty_ldisc.c index a58a19a6a5e1..01c70c01f64a 100644 --- a/drivers/char/tty_ldisc.c +++ b/drivers/char/tty_ldisc.c | |||
@@ -396,6 +396,27 @@ void tty_ldisc_enable(struct tty_struct *tty) | |||
396 | } | 396 | } |
397 | 397 | ||
398 | /** | 398 | /** |
399 | * tty_ldisc_flush - flush line discipline queue | ||
400 | * @tty: tty | ||
401 | * | ||
402 | * Flush the line discipline queue (if any) for this tty. If there | ||
403 | * is no line discipline active this is a no-op. | ||
404 | */ | ||
405 | |||
406 | void tty_ldisc_flush(struct tty_struct *tty) | ||
407 | { | ||
408 | struct tty_ldisc *ld = tty_ldisc_ref(tty); | ||
409 | if (ld) { | ||
410 | if (ld->ops->flush_buffer) | ||
411 | ld->ops->flush_buffer(tty); | ||
412 | tty_ldisc_deref(ld); | ||
413 | } | ||
414 | tty_buffer_flush(tty); | ||
415 | } | ||
416 | |||
417 | EXPORT_SYMBOL_GPL(tty_ldisc_flush); | ||
418 | |||
419 | /** | ||
399 | * tty_set_termios_ldisc - set ldisc field | 420 | * tty_set_termios_ldisc - set ldisc field |
400 | * @tty: tty structure | 421 | * @tty: tty structure |
401 | * @num: line discipline number | 422 | * @num: line discipline number |