aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2009-12-16 14:34:29 -0800
committerDan Williams <dcbw@redhat.com>2009-12-16 14:34:29 -0800
commit3ad172d1504b20949049cf47783e1fe7287c9b95 (patch)
tree398012eccb47f48d99e4c524cfcfb61a2b59dfe8 /src
parent30a2a202073bb7c9ac56326fff01517850894774 (diff)
cdma: fix quality parsing if modem doesn't prepend +CSQ:
Which some Huawei modems (EC168C) don't do.
Diffstat (limited to 'src')
-rw-r--r--src/mm-generic-cdma.c9
1 files 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,