From ff7217b2f02380c52381f6e18cc4abdf1633de49 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 7 Oct 2014 14:51:39 +0200 Subject: termios: Fix transmit daemon Do not call rtems_termios_refill_transmitter() in case a PPP line discipline is present. This is similar to rtems_termios_dequeue_characters(). --- cpukit/libcsupport/src/termios.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'cpukit/libcsupport/src/termios.c') diff --git a/cpukit/libcsupport/src/termios.c b/cpukit/libcsupport/src/termios.c index 33cbacbc74..52171a14b3 100644 --- a/cpukit/libcsupport/src/termios.c +++ b/cpukit/libcsupport/src/termios.c @@ -1785,7 +1785,7 @@ rtems_termios_dequeue_characters (void *ttyp, int len) if (tty->t_line == PPPDISC ) { /* - * call any line discipline start function + * call PPP line discipline start function */ if (rtems_termios_linesw[tty->t_line].l_start != NULL) { rtems_termios_linesw[tty->t_line].l_start(tty); @@ -1824,6 +1824,14 @@ static rtems_task rtems_termios_txdaemon(rtems_task_argument argument) */ if (rtems_termios_linesw[tty->t_line].l_start != NULL) { rtems_termios_linesw[tty->t_line].l_start(tty); + + if (tty->t_line == PPPDISC) { + /* + * Do not call rtems_termios_refill_transmitter() in this case similar + * to rtems_termios_dequeue_characters(). + */ + continue; + } } /* -- cgit v1.2.3