broadband-modem-qmi: update EPS registration state for LTE qmi modems
MM was not updating the EPS registration status for qmi modems. This led to LTE-only modems never having 'registered' status. This was happening for Quectel EC21-V modem.
This commit is contained in:
committed by
Dan Williams
parent
dce0752743
commit
10cb61f399
@@ -4744,6 +4744,8 @@ common_process_serving_system_3gpp (MMBroadbandModemQmi *self,
|
||||
/* Report new registration states */
|
||||
mm_iface_modem_3gpp_update_cs_registration_state (MM_IFACE_MODEM_3GPP (self), mm_cs_registration_state);
|
||||
mm_iface_modem_3gpp_update_ps_registration_state (MM_IFACE_MODEM_3GPP (self), mm_ps_registration_state);
|
||||
if (mm_access_technologies & MM_MODEM_ACCESS_TECHNOLOGY_LTE)
|
||||
mm_iface_modem_3gpp_update_eps_registration_state (MM_IFACE_MODEM_3GPP (self), mm_ps_registration_state);
|
||||
|
||||
/* Get 3GPP location LAC and CI */
|
||||
lac = 0;
|
||||
@@ -5199,6 +5201,7 @@ common_process_system_info_3gpp (MMBroadbandModemQmi *self,
|
||||
guint16 lac;
|
||||
guint32 cid;
|
||||
gchar *operator_id;
|
||||
gboolean has_lte_info;
|
||||
|
||||
ps_registration_state = MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN;
|
||||
cs_registration_state = MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN;
|
||||
@@ -5210,12 +5213,13 @@ common_process_system_info_3gpp (MMBroadbandModemQmi *self,
|
||||
* LTE > WCDMA > GSM
|
||||
* The first one giving results will be the one reported.
|
||||
*/
|
||||
if (!process_lte_info (response_output, indication_output,
|
||||
&cs_registration_state,
|
||||
&ps_registration_state,
|
||||
&lac,
|
||||
&cid,
|
||||
&operator_id) &&
|
||||
has_lte_info = process_lte_info (response_output, indication_output,
|
||||
&cs_registration_state,
|
||||
&ps_registration_state,
|
||||
&lac,
|
||||
&cid,
|
||||
&operator_id);
|
||||
if (!has_lte_info &&
|
||||
!process_wcdma_info (response_output, indication_output,
|
||||
&cs_registration_state,
|
||||
&ps_registration_state,
|
||||
@@ -5240,6 +5244,8 @@ common_process_system_info_3gpp (MMBroadbandModemQmi *self,
|
||||
/* Report new registration states */
|
||||
mm_iface_modem_3gpp_update_cs_registration_state (MM_IFACE_MODEM_3GPP (self), cs_registration_state);
|
||||
mm_iface_modem_3gpp_update_ps_registration_state (MM_IFACE_MODEM_3GPP (self), ps_registration_state);
|
||||
if (has_lte_info)
|
||||
mm_iface_modem_3gpp_update_eps_registration_state (MM_IFACE_MODEM_3GPP (self), ps_registration_state);
|
||||
mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self), lac, cid);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user