summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2013-04-25 11:03:49 -0500
committerDan Williams <dcbw@redhat.com>2013-04-25 11:03:49 -0500
commit2e58b9e3dadeb0d8ec59c3ef4bf1092f37854421 (patch)
treec1bdb9ab3b464ced7a110258b2035d3e2e021c3d
parent23204111130fca0a93a22508431ad8bb17210bdd (diff)
downloadModemManager-dcbw/sprint-qcdm-serving-system.tar.gz
broadband-modem: run CDMA1x Serving System checks if QCDM port exists (bgo #698856)dcbw/sprint-qcdm-serving-system
For devices that support Sprint commands (SPSERVICE, SPERI) the CDMA1x Serving System checks weren't run because at the time that decision was made, they were AT-based and didn't provide anything useful above the proprietary Sprint commands. But now that we have QCDM serving system checks, which do provide the SID and NID, we should just use them if we can. Otherwise we don't get any SID/NID information on Sprint-command-supporting devices.
-rw-r--r--src/mm-broadband-modem.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index 92b2050b9..0843ec749 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -6890,9 +6890,13 @@ setup_registration_checks_context_complete_and_free (SetupRegistrationChecksCont
* for the specific step, or subclass this setup and return
* FALSE themselves. */
if (ctx->has_sprint_commands) {
- mm_dbg ("Will skip CDMA1x Serving System check, "
- "we do have Sprint commands");
- results->skip_at_cdma1x_serving_system_step = TRUE;
+ /* If a QCDM port exists, we can use that for better serving
+ * system checks than the Sprint commands. */
+ if (!mm_base_modem_peek_port_qcdm (MM_BASE_MODEM (ctx->self))) {
+ mm_dbg ("Will skip CDMA1x Serving System check, "
+ "we do have Sprint commands but no QCDM port");
+ results->skip_at_cdma1x_serving_system_step = TRUE;
+ }
} else {
/* If there aren't Sprint specific commands, and the detailed
* registration state getter wasn't subclassed, skip the step */