broadband-modem-qmi: Report FIXED_DIALING lock correctly
Querying facility locks should return a FIXED_DIALING lock if PIN2 lock is enabled.
This commit is contained in:

committed by
Aleksander Morgado

parent
74ab15d323
commit
bab0f44e74
@@ -2001,6 +2001,7 @@ get_sim_lock_status_via_pin_status_ready (QmiClientDms *client,
|
|||||||
QmiDmsUimPinStatus current_status;
|
QmiDmsUimPinStatus current_status;
|
||||||
GError *error;
|
GError *error;
|
||||||
gboolean pin1_enabled;
|
gboolean pin1_enabled;
|
||||||
|
gboolean pin2_enabled;
|
||||||
|
|
||||||
self = g_task_get_source_object (task);
|
self = g_task_get_source_object (task);
|
||||||
ctx = g_task_get_task_data (task);
|
ctx = g_task_get_task_data (task);
|
||||||
@@ -2030,6 +2031,21 @@ get_sim_lock_status_via_pin_status_ready (QmiClientDms *client,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (qmi_message_dms_uim_get_pin_status_output_get_pin2_status (
|
||||||
|
output,
|
||||||
|
¤t_status,
|
||||||
|
NULL, /* verify_retries_left */
|
||||||
|
NULL, /* unblock_retries_left */
|
||||||
|
&error)) {
|
||||||
|
pin2_enabled = mm_pin_enabled_from_qmi_uim_pin_status (current_status);
|
||||||
|
mm_obj_dbg (self, "PIN2 is reported %s", (pin2_enabled ? "enabled" : "disabled"));
|
||||||
|
} else {
|
||||||
|
qmi_message_dms_uim_get_pin_status_output_unref (output);
|
||||||
|
g_task_return_error (task, error);
|
||||||
|
g_object_unref (task);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
qmi_message_dms_uim_get_pin_status_output_unref (output);
|
qmi_message_dms_uim_get_pin_status_output_unref (output);
|
||||||
|
|
||||||
if (pin1_enabled)
|
if (pin1_enabled)
|
||||||
@@ -2037,6 +2053,11 @@ get_sim_lock_status_via_pin_status_ready (QmiClientDms *client,
|
|||||||
else
|
else
|
||||||
ctx->locks &= ~(MM_MODEM_3GPP_FACILITY_SIM);
|
ctx->locks &= ~(MM_MODEM_3GPP_FACILITY_SIM);
|
||||||
|
|
||||||
|
if (pin2_enabled)
|
||||||
|
ctx->locks |= (MM_MODEM_3GPP_FACILITY_FIXED_DIALING);
|
||||||
|
else
|
||||||
|
ctx->locks &= ~(MM_MODEM_3GPP_FACILITY_FIXED_DIALING);
|
||||||
|
|
||||||
/* No more facilities to query, all done */
|
/* No more facilities to query, all done */
|
||||||
g_task_return_int (task, ctx->locks);
|
g_task_return_int (task, ctx->locks);
|
||||||
g_object_unref (task);
|
g_object_unref (task);
|
||||||
|
Reference in New Issue
Block a user