diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-01-31 21:42:36 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-01-31 21:42:36 +0000 |
commit | 5ec6f09189a6f8e284198801b6320add24bf5810 (patch) | |
tree | c8915715a73102cef71244941cce33416d22abfe /c/src/lib | |
parent | 2001-01-31 Mike Siers <mikes@poliac.com> (diff) | |
download | rtems-5ec6f09189a6f8e284198801b6320add24bf5810.tar.bz2 |
2001-01-31 Mike Siers <mikes@poliac.com>
* Nice Update of PPPD support which eliminates the
requiremetn that drivers be in the termios TASK_DRIVEN mode.
Mike did significant testing and reports that it seems to be
more stable and handle larger packets better. This patch
replaces the termios tasks with more general pppd network
driver tasks. The functions pppinput() and pppstart() get
called from the interrupt service routine.
* libc/termios.c: Added PPCDISC.
Diffstat (limited to 'c/src/lib')
-rw-r--r-- | c/src/lib/ChangeLog | 11 | ||||
-rw-r--r-- | c/src/lib/libc/termios.c | 9 |
2 files changed, 20 insertions, 0 deletions
diff --git a/c/src/lib/ChangeLog b/c/src/lib/ChangeLog index f42b0fef6e..06da663a58 100644 --- a/c/src/lib/ChangeLog +++ b/c/src/lib/ChangeLog @@ -1,3 +1,14 @@ +2001-01-31 Mike Siers <mikes@poliac.com> + + * Nice Update of PPPD support which eliminates the + requiremetn that drivers be in the termios TASK_DRIVEN mode. + Mike did significant testing and reports that it seems to be + more stable and handle larger packets better. This patch + replaces the termios tasks with more general pppd network + driver tasks. The functions pppinput() and pppstart() get + called from the interrupt service routine. + * libc/termios.c: Added PPCDISC. + 2002-02-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de> * include/rtems/libio.h: Add #include <rtems/fs.h>. diff --git a/c/src/lib/libc/termios.c b/c/src/lib/libc/termios.c index 0a04783648..25b8f00c9a 100644 --- a/c/src/lib/libc/termios.c +++ b/c/src/lib/libc/termios.c @@ -1412,6 +1412,15 @@ rtems_termios_dequeue_characters (void *ttyp, int len) rtems_fatal_error_occurred (sc); return 0; /* nothing to output in IRQ... */ } + else if (tty->t_line == PPPDISC ) { + /* + * call any line discipline start function + */ + if (linesw[tty->t_line].l_start != NULL) { + linesw[tty->t_line].l_start(tty); + } + return 0; /* nothing to output in IRQ... */ + } else { return rtems_termios_refill_transmitter(tty); } |