summaryrefslogtreecommitdiffstats
path: root/c/src/exec/libnetworking/net/if_ppp.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-03-27 14:36:07 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-03-27 14:36:07 +0000
commitf4c118d7a32370516b0871920b36002895f14f1d (patch)
treed071b48cfc44a1f0e9c7aab43489f0507caa3eb1 /c/src/exec/libnetworking/net/if_ppp.c
parent2001-03-21 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-f4c118d7a32370516b0871920b36002895f14f1d.tar.bz2
2002-03-27 Ilya Alexeev <ilya@continuum.ru>
* PR162 * net/if_ppp.c ppp_txdaemon(), net/if_pppvar.h pppstart(): Local variables must not be used in a device write routines. Now ppp_softc structure have own character for writing to device (sc_outchar). I think that converting local variables to static is not a right solution, because problems will occur in the case of two or more ppp instances. * net/ppp_tty.c pppstart(): Type of the ioffset variable must be u_long, otherwise in the case of the big output packet endless loop may occur.
Diffstat (limited to 'c/src/exec/libnetworking/net/if_ppp.c')
-rw-r--r--c/src/exec/libnetworking/net/if_ppp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/c/src/exec/libnetworking/net/if_ppp.c b/c/src/exec/libnetworking/net/if_ppp.c
index bb90eac78a..d4e0847655 100644
--- a/c/src/exec/libnetworking/net/if_ppp.c
+++ b/c/src/exec/libnetworking/net/if_ppp.c
@@ -243,7 +243,6 @@ static rtems_task ppp_rxdaemon(rtems_task_argument arg)
static rtems_task ppp_txdaemon(rtems_task_argument arg)
{
rtems_event_set events;
- char cFrame = (char )PPP_FLAG;
int iprocess = (int )0;
struct ppp_softc *sc = (struct ppp_softc *)arg;
struct mbuf *mp;
@@ -351,7 +350,8 @@ static rtems_task ppp_txdaemon(rtems_task_argument arg)
microtime(&sc->sc_if.if_lastchange);
/* write out frame byte to start the transmission */
- (*tp->device.write)(tp->minor, &cFrame, 1);
+ sc->sc_outchar = (u_char)PPP_FLAG;
+ (*tp->device.write)(tp->minor, &sc->sc_outchar, 1);
}
/* check to see if we need to free some empty mbufs */