From 3ed196a67ecdce96cca9d2546a0d4104694dacf2 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Fri, 5 Dec 2014 11:10:43 +1100 Subject: [PATCH] gsmd: fix suspend blocking for 'sms_recv'. We shouldn't block suspend while waiting for a SIM card number. Only block during an extended "get list of sms messsages" sequence. Signed-off-by: NeilBrown --- gsm/gsmd2.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gsm/gsmd2.py b/gsm/gsmd2.py index f9b2036..2e80926 100644 --- a/gsm/gsmd2.py +++ b/gsm/gsmd2.py @@ -1349,14 +1349,12 @@ class sms_recv(Engine): self.must_check('') def must_check(self, line): - self.block() self.check_needed = True self.retry(100) return True def set_on(self, state): if state and self.check_needed: - self.block() self.retry(100) if not state: self.unblock() @@ -1382,6 +1380,7 @@ class sms_recv(Engine): if m and m.group(1) == '3': self.retry(2000) return False + self.block() at_queue('+CMGL=4', self.one_line, 40000) return False @@ -1406,6 +1405,7 @@ class sms_recv(Engine): if not line or line[:5] == 'ERROR' or line[:10] == '+CMS ERROR': self.check_needed = True self.retry(60000) + self.unblock() return False if self.expecting_line: self.expecting_line = False -- 2.39.5