From 3ad172d1504b20949049cf47783e1fe7287c9b95 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 16 Dec 2009 14:34:29 -0800 Subject: [PATCH] cdma: fix quality parsing if modem doesn't prepend +CSQ: Which some Huawei modems (EC168C) don't do. --- src/mm-generic-cdma.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mm-generic-cdma.c b/src/mm-generic-cdma.c index d535e28e..1d20760a 100644 --- a/src/mm-generic-cdma.c +++ b/src/mm-generic-cdma.c @@ -800,13 +800,14 @@ get_signal_quality_done (MMSerialPort *port, mm_serial_port_queue_command (port, "+CSQ?", 3, get_signal_quality_done, info); return; } - } else if (!strncmp (reply, "+CSQ: ", 6)) { - /* Got valid reply */ + } else { int quality, ber; - reply += 6; + /* Got valid reply */ + if (!strncmp (reply, "+CSQ: ", 6)) + reply += 6; - if (sscanf (reply, "%d,%d", &quality, &ber)) { + if (sscanf (reply, "%d, %d", &quality, &ber)) { /* 99 means unknown/no service */ if (quality == 99) { info->error = g_error_new_literal (MM_MOBILE_ERROR,