telit: avoid sim hot swap procedure if #QSS is not supported
This commit is contained in:
@@ -606,6 +606,27 @@ next_step:
|
|||||||
qss_setup_step (task);
|
qss_setup_step (task);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
telit_qss_support_ready (MMBaseModem *self,
|
||||||
|
GAsyncResult *res,
|
||||||
|
GTask *task)
|
||||||
|
{
|
||||||
|
GError *error = NULL;
|
||||||
|
QssSetupContext *ctx;
|
||||||
|
|
||||||
|
ctx = g_task_get_task_data (task);
|
||||||
|
|
||||||
|
if (!mm_base_modem_at_command_finish (self, res, &error)) {
|
||||||
|
mm_obj_dbg (self, "#QSS command unsupported: '%s'", error->message);
|
||||||
|
g_task_return_error (task, error);
|
||||||
|
g_object_unref (task);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx->step++;
|
||||||
|
qss_setup_step (task);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
qss_setup_step (GTask *task)
|
qss_setup_step (GTask *task)
|
||||||
{
|
{
|
||||||
@@ -617,8 +638,13 @@ qss_setup_step (GTask *task)
|
|||||||
|
|
||||||
switch (ctx->step) {
|
switch (ctx->step) {
|
||||||
case QSS_SETUP_STEP_FIRST:
|
case QSS_SETUP_STEP_FIRST:
|
||||||
ctx->step++;
|
mm_base_modem_at_command (MM_BASE_MODEM (self),
|
||||||
/* fall through */
|
"#QSS=?",
|
||||||
|
3,
|
||||||
|
TRUE,
|
||||||
|
(GAsyncReadyCallback) telit_qss_support_ready,
|
||||||
|
task);
|
||||||
|
return;
|
||||||
case QSS_SETUP_STEP_QUERY:
|
case QSS_SETUP_STEP_QUERY:
|
||||||
mm_base_modem_at_command (MM_BASE_MODEM (self),
|
mm_base_modem_at_command (MM_BASE_MODEM (self),
|
||||||
"#QSS?",
|
"#QSS?",
|
||||||
|
Reference in New Issue
Block a user