[PATCH rtems-libbsd] ppp: Fix transmitting data
Chris Johns
chrisj at rtems.org
Fri Aug 13 02:46:01 UTC 2021
On 12/8/21 9:42 pm, Christian Mauderer wrote:
> The pppstart expected that a driver write would somehow magically
> process all data passed to the write function. Because ppp disables all
> buffering that originally has been in termios, that assumption is not
> true for all but polled drivers.
>
> With this patch, the pppstart now gets and processes the feedback that
> is returned from the driver via rtems_termios_dequeue_characters.
>
> Fixes #4493
> ---
> rtemsbsd/sys/net/if_ppp.c | 11 ++++++-----
> rtemsbsd/sys/net/if_pppvar.h | 1 +
> rtemsbsd/sys/net/ppp_tty.c | 32 ++++++++++++++++++++++++++++----
> 3 files changed, 35 insertions(+), 9 deletions(-)
>
> diff --git a/rtemsbsd/sys/net/if_ppp.c b/rtemsbsd/sys/net/if_ppp.c
> index 709f13e04..e134dc760 100644
> --- a/rtemsbsd/sys/net/if_ppp.c
> +++ b/rtemsbsd/sys/net/if_ppp.c
> @@ -313,11 +313,12 @@ static rtems_task ppp_txdaemon(rtems_task_argument arg)
> frag=0;
>
> /* initialize output values */
> - sc->sc_outfcs = PPP_INITFCS;
> - sc->sc_outbuf = (u_char *)0;
> - sc->sc_outlen = (short )0;
> - sc->sc_outoff = (short )0;
> - sc->sc_outfcslen = (short )0;
> + sc->sc_outfcs = PPP_INITFCS;
> + sc->sc_outbuf = (u_char *)0;
> + sc->sc_outlen = (short )0;
> + sc->sc_outoff = (short )0;
> + sc->sc_outoff_update = false;
> + sc->sc_outfcslen = (short )0;
This is not the FreeBSD clang-format. Once my changes are pushed you can use the
style to reformat this code.
Chris
More information about the devel
mailing list