aboutsummaryrefslogtreecommitdiff
path: root/src/mm-iface-modem.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-iface-modem.c')
-rw-r--r--src/mm-iface-modem.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index 5e98261e..ff285dee 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -343,9 +343,13 @@ mm_iface_modem_process_sim_event (MMIfaceModem *self)
if (MM_IFACE_MODEM_GET_IFACE (self)->cleanup_sim_hot_swap)
MM_IFACE_MODEM_GET_IFACE (self)->cleanup_sim_hot_swap (self);
+ /* Make sure modem is disabled before reprobing. This operation requests
+ * an exclusive lock marked as override, so the modem object will not
+ * allow any additional lock request any more. */
mm_base_modem_set_reprobe (MM_BASE_MODEM (self), TRUE);
mm_base_modem_disable (MM_BASE_MODEM (self),
MM_BASE_MODEM_OPERATION_LOCK_REQUIRED,
+ MM_BASE_MODEM_OPERATION_PRIORITY_OVERRIDE,
(GAsyncReadyCallback) after_sim_event_disable_ready,
NULL);
}
@@ -2341,6 +2345,7 @@ handle_enable_auth_ready (MMBaseModem *self,
mm_obj_info (self, "processing user request to disable modem...");
mm_base_modem_disable (self,
MM_BASE_MODEM_OPERATION_LOCK_ALREADY_ACQUIRED,
+ MM_BASE_MODEM_OPERATION_PRIORITY_UNKNOWN,
(GAsyncReadyCallback)enable_ready,
ctx);
}
@@ -2424,6 +2429,7 @@ disable_after_low (MMIfaceModem *self,
mm_obj_info (self, "automatically disable modem after low-power mode...");
mm_base_modem_disable (MM_BASE_MODEM (self),
MM_BASE_MODEM_OPERATION_LOCK_ALREADY_ACQUIRED,
+ MM_BASE_MODEM_OPERATION_PRIORITY_UNKNOWN,
(GAsyncReadyCallback)disable_after_low_ready,
ctx);
}