From 706dd39569d3f4ee5fdf45ea577742d6af321fbd Mon Sep 17 00:00:00 2001 From: Veijo Pesonen Date: Wed, 6 Feb 2019 15:39:03 +0200 Subject: [PATCH] ESP8266: protects setting UART HW flow control with a mutex --- components/wifi/esp8266-driver/ESP8266/ESP8266.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp b/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp index 8832d75e1a..7f1a3b3472 100644 --- a/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp +++ b/components/wifi/esp8266-driver/ESP8266/ESP8266.cpp @@ -187,6 +187,7 @@ bool ESP8266::start_uart_hw_flow_ctrl(void) bool done = true; #if DEVICE_SERIAL_FC + _smutex.lock(); if (_serial_rts != NC && _serial_cts != NC) { // Start ESP8266's flow control done = _parser.send("AT+UART_CUR=%u,8,1,0,3", ESP8266_DEFAULT_BAUD_RATE) @@ -213,6 +214,11 @@ bool ESP8266::start_uart_hw_flow_ctrl(void) _serial.set_flow_control(SerialBase::CTS, NC, _serial_cts); } } + _smutex.unlock(); + + if (!done) { + tr_debug("Enable UART HW flow control: FAIL"); + } #else if (_serial_rts != NC || _serial_cts != NC) { done = false;