zephyr/drivers/net
Benjamin Lindqvist 449fc7bb1c net: ppp: Avoid wrapping each byte in muxing headers
When PPP is muxed, using uart_poll_out resulted in each byte getting
wrapped in a muxing header. This led to UART bombardment which
can quickly cause some modems to hang and panic. This was observed
regularly using a SIMCOM7600E modem.

A perfect fix would involve rewriting ppp.c, uart_mux.c and
modem_iface_uart.c to all use another UART API, but that would be more
invasive by several orders of magnitude than this one, which utilizes
the fact that the uart_mux implementation of uart_fifo_fill does NOT
require ISR context. Since the Zephyr UART API states that the behavior
of uart_fifo_fill outside of ISR context is implementation defined, this
should be kosher.

Signed-off-by: Benjamin Lindqvist <benjamin.lindqvist@endian.se>
2020-10-19 18:29:02 +02:00
..
CMakeLists.txt
Kconfig net: ppp: select RING_BUFFER via Kconfig 2020-08-01 08:13:50 -04:00
loopback.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
ppp.c net: ppp: Avoid wrapping each byte in muxing headers 2020-10-19 18:29:02 +02:00
slip.c drivers: net: slip: Allow slip to co-exist with other interfaces 2020-09-21 10:02:06 -05:00