summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-05-31 09:56:30 +0200
committerAleksander Morgado <aleksander@lanedo.com>2013-06-05 19:15:15 +0200
commitb41278c423cb81547c65da46057912ad9372715d (patch)
tree989c5ce9cc565f818f19374c815c108fa81dd82b
parentf09eff633c2c6842a6c2e739a0e5b9d72b7255c7 (diff)
downloadModemManager-b41278c423cb81547c65da46057912ad9372715d.tar.gz
iface-modem: allow changing capabilities in every state
Same as done with the firmware switching, we allow capabilities changing even if the modem is in FAILED state, e.g. to switch from 3GPP to 3GPP2 mode.
-rw-r--r--src/mm-iface-modem.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index a94c799a9..c4b808c2b 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -4370,6 +4370,14 @@ interface_initialization_step (InitializationContext *ctx)
}
case INITIALIZATION_STEP_LAST:
+ /* Setting capabilities allowed also in FAILED state. Just imagine a
+ * 3GPP+3GPP2 modem in 3GPP-only mode without SIM, we should allow
+ * changing caps to 3GPP2, which doesn't require SIM */
+ g_signal_connect (ctx->skeleton,
+ "handle-set-current-capabilities",
+ G_CALLBACK (handle_set_current_capabilities),
+ ctx->self);
+
if (ctx->fatal_error) {
g_simple_async_result_take_error (ctx->result, ctx->fatal_error);
ctx->fatal_error = NULL;
@@ -4409,10 +4417,6 @@ interface_initialization_step (InitializationContext *ctx)
G_CALLBACK (handle_factory_reset),
ctx->self);
g_signal_connect (ctx->skeleton,
- "handle-set-current-capabilities",
- G_CALLBACK (handle_set_current_capabilities),
- ctx->self);
- g_signal_connect (ctx->skeleton,
"handle-set-current-bands",
G_CALLBACK (handle_set_current_bands),
ctx->self);