[PATCH] telit: fix AT+SERVICE 3GPP2 access technology reporting

Dan Williams dcbw at redhat.com
Mon Apr 3 19:52:08 UTC 2017


Looks like a C&P error from the AT#PSNT codepath; all the docs
I can find indicate that AT+SERVICE returns only an integer and
no commas:

<debug> (ttyUSB2): --> 'AT+SERVICE?<CR>'
<debug> (ttyUSB2): <-- '<CR><LF>+SERVICE: 3<CR><LF><CR><LF>OK<CR><LF>'
<debug> Couldn't refresh access technologies: 'Failed to parse +SERVICE response: '+SERVICE: 3''
---
 plugins/telit/mm-broadband-modem-telit.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/plugins/telit/mm-broadband-modem-telit.c b/plugins/telit/mm-broadband-modem-telit.c
index 6ef340f..7d453c8 100644
--- a/plugins/telit/mm-broadband-modem-telit.c
+++ b/plugins/telit/mm-broadband-modem-telit.c
@@ -828,7 +828,7 @@ response_processor_service_ignore_at_errors (MMBaseModem *self,
                                              GVariant **result,
                                              GError **result_error)
 {
-    const gchar *service, *mode;
+    const gchar *service;
 
     if (error) {
         /* Ignore AT errors (ie, ERROR or CMx ERROR) */
@@ -838,9 +838,8 @@ response_processor_service_ignore_at_errors (MMBaseModem *self,
     }
 
     service = mm_strip_tag (response, "+SERVICE:");
-    mode = strchr (service, ',');
-    if (mode) {
-        switch (atoi (++mode)) {
+    if (service) {
+        switch (atoi (service)) {
         case 1:
             *result = g_variant_new_uint32 (MM_MODEM_ACCESS_TECHNOLOGY_1XRTT);
             return TRUE;
-- 
2.9.3


More information about the ModemManager-devel mailing list