From 9aea7f5af758e2871d88f6928efd6575e9f1ecbd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se>
Date: Mon, 15 Jun 2020 20:36:31 +0200
Subject: [PATCH 1/5] Prevent deadlock on sms send/receive

---
 src/NB_SMS.cpp | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp
index 20c2025..4be22c6 100644
--- a/src/NB_SMS.cpp
+++ b/src/NB_SMS.cpp
@@ -94,11 +94,9 @@ int NB_SMS::endSMS()
 
   if (_smsTxActive) {
     MODEM.write(26);
-
+    
     if (_synch) {
-      while ((r = MODEM.ready()) == 0) {
-        delay(100);
-      }
+      r = MODEM.waitForResponse(3*60*1000);
     } else {
       r = MODEM.ready();
     }
@@ -129,9 +127,7 @@ int NB_SMS::available()
     }
 
     if (_synch) {
-      while ((r = ready()) == 0) {
-        delay(100);
-      }
+      r = MODEM.waitForResponse(3*60*1000);
     } else {
       r = ready();
     }

From 47d42d1f68b871ea662a5289bfcfeaede6385b33 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se>
Date: Sun, 28 Jun 2020 22:45:26 +0200
Subject: [PATCH 2/5] Use NB_SMS.ready()

---
 src/NB_SMS.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp
index 4be22c6..d3b8f64 100644
--- a/src/NB_SMS.cpp
+++ b/src/NB_SMS.cpp
@@ -127,7 +127,10 @@ int NB_SMS::available()
     }
 
     if (_synch) {
-      r = MODEM.waitForResponse(3*60*1000);
+      unsigned long start = millis();
+      while ((r = ready()) == 0 && (millis() - start) < 3*60*1000)
+        delay(100);
+      }
     } else {
       r = ready();
     }

From 479040eac1ddf4b44b24c605ed8951bc6049b131 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se>
Date: Sun, 28 Jun 2020 22:53:20 +0200
Subject: [PATCH 3/5] Whitespace

---
 src/NB_SMS.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp
index d3b8f64..485a5cf 100644
--- a/src/NB_SMS.cpp
+++ b/src/NB_SMS.cpp
@@ -94,7 +94,7 @@ int NB_SMS::endSMS()
 
   if (_smsTxActive) {
     MODEM.write(26);
-    
+
     if (_synch) {
       r = MODEM.waitForResponse(3*60*1000);
     } else {

From 041bcc10374325b3ce093ef21875a9181af60be7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se>
Date: Mon, 29 Jun 2020 14:10:15 +0200
Subject: [PATCH 4/5] Typo

---
 src/NB_SMS.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp
index 485a5cf..c7e8379 100644
--- a/src/NB_SMS.cpp
+++ b/src/NB_SMS.cpp
@@ -130,7 +130,6 @@ int NB_SMS::available()
       unsigned long start = millis();
       while ((r = ready()) == 0 && (millis() - start) < 3*60*1000)
         delay(100);
-      }
     } else {
       r = ready();
     }

From 48ec74b5c91ea3f590179edd2033b8aeba8ff77d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan-=C3=85ke=20Larsson?= <jan-ake.larsson@liu.se>
Date: Sun, 5 Jul 2020 11:32:45 +0200
Subject: [PATCH 5/5] Code style

---
 src/NB_SMS.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/NB_SMS.cpp b/src/NB_SMS.cpp
index c7e8379..6fce180 100644
--- a/src/NB_SMS.cpp
+++ b/src/NB_SMS.cpp
@@ -128,8 +128,9 @@ int NB_SMS::available()
 
     if (_synch) {
       unsigned long start = millis();
-      while ((r = ready()) == 0 && (millis() - start) < 3*60*1000)
+      while ((r = ready()) == 0 && (millis() - start) < 3*60*1000) {
         delay(100);
+      }
     } else {
       r = ready();
     }