From d48adcce2c06ab9b71e4196a18ae860038faf042 Mon Sep 17 00:00:00 2001 From: Ari Parkkila Date: Tue, 19 Feb 2019 00:16:45 -0800 Subject: [PATCH] Cellular: Fix ATHandler set/restore_at_timeout with mutex lock --- features/cellular/framework/AT/ATHandler.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/features/cellular/framework/AT/ATHandler.cpp b/features/cellular/framework/AT/ATHandler.cpp index e6e0d69a2e..e9c22ef562 100644 --- a/features/cellular/framework/AT/ATHandler.cpp +++ b/features/cellular/framework/AT/ATHandler.cpp @@ -272,6 +272,7 @@ nsapi_error_t ATHandler::unlock_return_error() void ATHandler::set_at_timeout(uint32_t timeout_milliseconds, bool default_timeout) { + lock(); if (default_timeout) { _previous_at_timeout = timeout_milliseconds; _at_timeout = timeout_milliseconds; @@ -279,13 +280,16 @@ void ATHandler::set_at_timeout(uint32_t timeout_milliseconds, bool default_timeo _previous_at_timeout = _at_timeout; _at_timeout = timeout_milliseconds; } + unlock(); } void ATHandler::restore_at_timeout() { + lock(); if (_previous_at_timeout != _at_timeout) { _at_timeout = _previous_at_timeout; } + unlock(); } void ATHandler::process_oob()