aboutsummaryrefslogtreecommitdiff
path: root/src/mm-broadband-modem.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-broadband-modem.c')
-rw-r--r--src/mm-broadband-modem.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index d59c08e3..94b4f0aa 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -2979,6 +2979,7 @@ get_call_manager_state (MMIfaceModemCdma *self,
typedef struct {
guint sid;
+ guint nid;
guint class;
guint band;
} Cdma1xServingSystemResults;
@@ -3016,6 +3017,7 @@ get_cdma1x_serving_system_finish (MMIfaceModemCdma *self,
guint *class,
guint *band,
guint *sid,
+ guint *nid,
GError **error)
{
Cdma1xServingSystemResults *results;
@@ -3025,6 +3027,7 @@ get_cdma1x_serving_system_finish (MMIfaceModemCdma *self,
results = (Cdma1xServingSystemResults *)g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res));
*sid = results->sid;
+ *nid = results->nid;
*class = results->class;
*band = results->band;
return TRUE;
@@ -3149,6 +3152,8 @@ get_cdma1x_serving_system_at_ready (MMIfaceModemCdma *self,
results->sid = sid;
results->band = band;
results->class = class;
+ /* No means to get NID with AT commands right now */
+ results->nid = MM_MODEM_CDMA_NID_UNKNOWN;
g_simple_async_result_set_op_res_gpointer (ctx->result, results, (GDestroyNotify)g_free);
cdma1x_serving_system_context_complete_and_free (ctx);
@@ -3162,7 +3167,8 @@ get_cdma1x_serving_system_qcdm_ready (MMQcdmSerialPort *port,
{
Cdma1xServingSystemResults *results;
QcdmResult *result;
- guint32 sid = 0;
+ guint32 sid = MM_MODEM_CDMA_SID_UNKNOWN;
+ guint32 nid = MM_MODEM_CDMA_NID_UNKNOWN;
guint32 rxstate = 0;
gint err = QCDM_SUCCESS;
@@ -3185,14 +3191,18 @@ get_cdma1x_serving_system_qcdm_ready (MMQcdmSerialPort *port,
qcdm_result_get_u32 (result, QCDM_CMD_CDMA_STATUS_ITEM_RX_STATE, &rxstate);
qcdm_result_get_u32 (result, QCDM_CMD_CDMA_STATUS_ITEM_SID, &sid);
+ qcdm_result_get_u32 (result, QCDM_CMD_CDMA_STATUS_ITEM_NID, &nid);
qcdm_result_unref (result);
/* 99999 means unknown/no service */
- if (rxstate == QCDM_CMD_CDMA_STATUS_RX_STATE_ENTERING_CDMA)
+ if (rxstate == QCDM_CMD_CDMA_STATUS_RX_STATE_ENTERING_CDMA) {
sid = MM_MODEM_CDMA_SID_UNKNOWN;
+ nid = MM_MODEM_CDMA_NID_UNKNOWN;
+ }
results = g_new0 (Cdma1xServingSystemResults, 1);
results->sid = sid;
+ results->nid = nid;
if (sid != MM_MODEM_CDMA_SID_UNKNOWN) {
results->band = 'Z';
results->class = 0;