[rtems commit] termios: Fix transmit daemon

Sebastian Huber sebh at rtems.org
Tue Oct 7 13:01:13 UTC 2014


Module:    rtems
Branch:    master
Commit:    ff7217b2f02380c52381f6e18cc4abdf1633de49
Changeset: http://git.rtems.org/rtems/commit/?id=ff7217b2f02380c52381f6e18cc4abdf1633de49

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Oct  7 14:51:39 2014 +0200

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 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/cpukit/libcsupport/src/termios.c b/cpukit/libcsupport/src/termios.c
index 33cbacb..52171a1 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;
+      }
     }
 
     /*



More information about the vc mailing list