iface-modem-cdma: get CDMA1x Serving System during QCDM registration
We want the SID/NID even when AT Serving System checks are disabled, otherwise the SID/NID don't get filled at all. QCDM doesn't need the SID/NID to determine registration, so the values are informational only and don't affect registration state. But we still want to export them via the API.
This commit is contained in:
@@ -418,6 +418,7 @@ typedef enum {
|
||||
|
||||
REGISTRATION_CHECK_STEP_QCDM_CALL_MANAGER_STATE,
|
||||
REGISTRATION_CHECK_STEP_QCDM_HDR_STATE,
|
||||
REGISTRATION_CHECK_STEP_QCDM_CDMA1X_SERVING_SYSTEM,
|
||||
REGISTRATION_CHECK_STEP_QCDM_LAST,
|
||||
|
||||
REGISTRATION_CHECK_STEP_AT_CDMA_SERVICE_STATUS,
|
||||
@@ -630,6 +631,8 @@ get_cdma1x_serving_system_ready (MMIfaceModemCdma *self,
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
/* Note: used for *both* AT and QCDM serving system checks */
|
||||
|
||||
if (!MM_IFACE_MODEM_CDMA_GET_INTERFACE (self)->get_cdma1x_serving_system_finish (
|
||||
self,
|
||||
res,
|
||||
@@ -764,6 +767,22 @@ registration_check_step (RunRegistrationChecksContext *ctx)
|
||||
/* Fall down to next step */
|
||||
ctx->step++;
|
||||
|
||||
case REGISTRATION_CHECK_STEP_QCDM_CDMA1X_SERVING_SYSTEM:
|
||||
/* We only care about SID/NID here; nothing to do with registration
|
||||
* state.
|
||||
*/
|
||||
if (MM_IFACE_MODEM_CDMA_GET_INTERFACE (ctx->self)->get_cdma1x_serving_system &&
|
||||
MM_IFACE_MODEM_CDMA_GET_INTERFACE (ctx->self)->get_cdma1x_serving_system_finish) {
|
||||
MM_IFACE_MODEM_CDMA_GET_INTERFACE (ctx->self)->get_cdma1x_serving_system (
|
||||
ctx->self,
|
||||
(GAsyncReadyCallback)get_cdma1x_serving_system_ready,
|
||||
ctx);
|
||||
return;
|
||||
}
|
||||
mm_dbg (" Skipping CDMA1x Serving System check");
|
||||
/* Fall down to next step */
|
||||
ctx->step++;
|
||||
|
||||
case REGISTRATION_CHECK_STEP_QCDM_LAST:
|
||||
/* When we get all QCDM results, parse them */
|
||||
parse_qcdm_results (ctx);
|
||||
|
Reference in New Issue
Block a user