zephyr/drivers/modem
Benjamin Lindqvist e7df25c848 drivers: modem: gsm_ppp: lock modem when required
If other threads are accessing the modem concurrently during gsm_ppp
initialization, they can easily corrupt UART comms. Normally this is not
noticable since those services are usually started only after modem
setup has been completed. But with the new gsm_ppp stop/start
functionality, the need of synchronizing concurrent access in a
structured way has arisen.

This commit ensures modem_cmd_handler is locked when concurrent access
to the modem UART would interfere with the driver, or otherwise cause
problems. Since the semaphore is not available during this period, all
essential calls to modem_cmd_send has been replaced with the non-locking
equivalents.

Signed-off-by: Benjamin Lindqvist <benjamin.lindqvist@endian.se>
2020-10-21 10:15:45 +03:00
..
CMakeLists.txt drivers: modem: add Sierra Wireless HL7800 Modem Driver 2020-08-31 10:46:33 +02:00
gsm_ppp.c drivers: modem: gsm_ppp: lock modem when required 2020-10-21 10:15:45 +03:00
hl7800.c drivers: modem: hl7800: only set DNS addr if not set 2020-10-19 15:22:33 +03:00
Kconfig drivers: modem: add Sierra Wireless HL7800 Modem Driver 2020-08-31 10:46:33 +02:00
Kconfig.gsm
Kconfig.hl7800 drivers: modem: hl7800: do not require DEVICE_POWER_MANAGEMENT 2020-09-16 14:21:41 -05:00
Kconfig.ublox-sara-r4
Kconfig.wncm14a2a
modem_cmd_handler.c drivers: modem: cmd_handler: Allow locking TX 2020-10-21 10:15:45 +03:00
modem_cmd_handler.h drivers: modem: cmd_handler: Allow locking TX 2020-10-21 10:15:45 +03:00
modem_context.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
modem_context.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
modem_iface_uart.c net: ppp: Avoid wrapping each byte in muxing headers 2020-10-19 18:29:02 +02:00
modem_iface_uart.h modem: iface_uart: improve RX flow with HW flow control 2020-10-05 17:04:52 +03:00
modem_pin.c
modem_receiver.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
modem_receiver.h device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
modem_shell.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
modem_socket.c drivers: modem: use zsock_ variants of socket API 2020-06-10 09:27:51 +03:00
modem_socket.h drivers: modem: use zsock_ variants of socket API 2020-06-10 09:27:51 +03:00
ublox-sara-r4.c drivers: modem: ublox-sara-r4: inform modem_context about HW flow control 2020-10-05 17:04:52 +03:00
wncm14a2a.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00