broadband-modem-qmi: fix flags of supported commands for allowed modes
This commit is contained in:
@@ -49,8 +49,9 @@ struct _MMBroadbandModemQmiPrivate {
|
|||||||
gchar *esn;
|
gchar *esn;
|
||||||
|
|
||||||
/* Allowed mode related */
|
/* Allowed mode related */
|
||||||
gboolean has_mode_preference_in_get_system_selection_preference;
|
gboolean has_system_selection_preference;
|
||||||
gboolean has_get_technology_preference;
|
gboolean has_mode_preference_in_system_selection_preference;
|
||||||
|
gboolean has_technology_preference;
|
||||||
|
|
||||||
/* Signal quality related */
|
/* Signal quality related */
|
||||||
gboolean has_get_signal_info;
|
gboolean has_get_signal_info;
|
||||||
@@ -1705,7 +1706,7 @@ get_technology_preference_ready (QmiClientNas *client,
|
|||||||
if (g_error_matches (error,
|
if (g_error_matches (error,
|
||||||
QMI_CORE_ERROR,
|
QMI_CORE_ERROR,
|
||||||
QMI_CORE_ERROR_UNSUPPORTED))
|
QMI_CORE_ERROR_UNSUPPORTED))
|
||||||
ctx->self->priv->has_get_technology_preference = FALSE;
|
ctx->self->priv->has_technology_preference = FALSE;
|
||||||
mm_dbg ("QMI operation failed: %s", error->message);
|
mm_dbg ("QMI operation failed: %s", error->message);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
} else if (!qmi_message_nas_get_technology_preference_output_get_result (output, &error)) {
|
} else if (!qmi_message_nas_get_technology_preference_output_get_result (output, &error)) {
|
||||||
@@ -1810,7 +1811,7 @@ allowed_modes_get_system_selection_preference_ready (QmiClientNas *client,
|
|||||||
if (g_error_matches (error,
|
if (g_error_matches (error,
|
||||||
QMI_CORE_ERROR,
|
QMI_CORE_ERROR,
|
||||||
QMI_CORE_ERROR_UNSUPPORTED))
|
QMI_CORE_ERROR_UNSUPPORTED))
|
||||||
ctx->self->priv->has_get_technology_preference = FALSE;
|
ctx->self->priv->has_system_selection_preference = FALSE;
|
||||||
mm_dbg ("QMI operation failed: %s", error->message);
|
mm_dbg ("QMI operation failed: %s", error->message);
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
} else if (!qmi_message_nas_get_system_selection_preference_output_get_result (output, &error)) {
|
} else if (!qmi_message_nas_get_system_selection_preference_output_get_result (output, &error)) {
|
||||||
@@ -1822,7 +1823,7 @@ allowed_modes_get_system_selection_preference_ready (QmiClientNas *client,
|
|||||||
NULL)) {
|
NULL)) {
|
||||||
/* Assuming here that Get System Selection Preference reports *always* all
|
/* Assuming here that Get System Selection Preference reports *always* all
|
||||||
* optional fields that the current message version supports */
|
* optional fields that the current message version supports */
|
||||||
ctx->self->priv->has_get_technology_preference = FALSE;
|
ctx->self->priv->has_mode_preference_in_system_selection_preference = FALSE;
|
||||||
mm_dbg ("Mode preference not reported in system selection preference");
|
mm_dbg ("Mode preference not reported in system selection preference");
|
||||||
} else {
|
} else {
|
||||||
MMModemMode allowed;
|
MMModemMode allowed;
|
||||||
@@ -1923,8 +1924,10 @@ load_allowed_modes (MMIfaceModem *self,
|
|||||||
callback,
|
callback,
|
||||||
user_data,
|
user_data,
|
||||||
load_allowed_modes);
|
load_allowed_modes);
|
||||||
ctx->run_get_system_selection_preference = ctx->self->priv->has_mode_preference_in_get_system_selection_preference;
|
ctx->run_get_system_selection_preference =
|
||||||
ctx->run_get_technology_preference = ctx->self->priv->has_get_technology_preference;
|
(ctx->self->priv->has_system_selection_preference &&
|
||||||
|
ctx->self->priv->has_mode_preference_in_system_selection_preference);
|
||||||
|
ctx->run_get_technology_preference = ctx->self->priv->has_technology_preference;
|
||||||
|
|
||||||
load_allowed_modes_context_step (ctx);
|
load_allowed_modes_context_step (ctx);
|
||||||
}
|
}
|
||||||
@@ -2613,8 +2616,9 @@ mm_broadband_modem_qmi_init (MMBroadbandModemQmi *self)
|
|||||||
|
|
||||||
/* Always try to use the newest command available first */
|
/* Always try to use the newest command available first */
|
||||||
self->priv->has_get_signal_info = TRUE;
|
self->priv->has_get_signal_info = TRUE;
|
||||||
self->priv->has_mode_preference_in_get_system_selection_preference = TRUE;
|
self->priv->has_system_selection_preference = TRUE;
|
||||||
self->priv->has_get_technology_preference = TRUE;
|
self->priv->has_mode_preference_in_system_selection_preference = TRUE;
|
||||||
|
self->priv->has_technology_preference = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Reference in New Issue
Block a user