summaryrefslogtreecommitdiffstats
path: root/cpukit/libnetworking/net/ppp_tty.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-10-07 16:25:43 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-10-07 16:35:20 +0200
commit77dd9a4f8a5ef1c6c0356aa8e10bdae46997681b (patch)
tree7082679df016dfc2614b4f1403c1c73061e93851 /cpukit/libnetworking/net/ppp_tty.c
parentlibchip/serial: Task driven mode for NS16550 (diff)
downloadrtems-77dd9a4f8a5ef1c6c0356aa8e10bdae46997681b.tar.bz2
ppp: Nothing to transmit hint for Termios driver
Diffstat (limited to 'cpukit/libnetworking/net/ppp_tty.c')
-rw-r--r--cpukit/libnetworking/net/ppp_tty.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/cpukit/libnetworking/net/ppp_tty.c b/cpukit/libnetworking/net/ppp_tty.c
index 85a336cbf4..10510488f8 100644
--- a/cpukit/libnetworking/net/ppp_tty.c
+++ b/cpukit/libnetworking/net/ppp_tty.c
@@ -577,6 +577,10 @@ pppstart(struct rtems_termios_tty *tp)
/* Ready with PPP_FLAG Character ? */
if(sc->sc_outflag & SC_TX_LASTCHAR){
sc->sc_outflag &= ~(SC_TX_BUSY | SC_TX_FCS | SC_TX_LASTCHAR);
+
+ /* Notify driver that we have nothing to transmit */
+ (*tp->handler.write)(ctx, NULL, 0);
+
rtems_event_send(sc->sc_txtask, TX_TRANSMIT); /* Ready for the next Packet */
return(0);
}
@@ -647,10 +651,15 @@ pppstart(struct rtems_termios_tty *tp)
(*tp->handler.write)(ctx, (char *)sendBegin, (ioffset > 0) ? ioffset : 1);
sc->sc_stats.ppp_obytes += (ioffset > 0) ? ioffset : 1;
sc->sc_outoff += ioffset;
+
+ return (0);
}
}
- return ( 0 );
+ /* Notify driver that we have nothing to transmit */
+ (*tp->handler.write)(ctx, NULL, 0);
+
+ return (0);
}
#ifdef XXX_XXX