mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-08 00:45:21 +00:00
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> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
gsm_mux.c | ||
gsm_mux.h | ||
ipm_console_receiver.c | ||
ipm_console_sender.c | ||
ipm_console.c | ||
Kconfig | ||
Kconfig.gsm_mux | ||
native_posix_console.c | ||
ram_console.c | ||
rtt_console.c | ||
semihost_console.c | ||
uart_console.c | ||
uart_mcumgr.c | ||
uart_mux_internal.h | ||
uart_mux.c | ||
uart_pipe.c | ||
xtensa_sim_console.c |