diff options
Diffstat (limited to 'src/mm-iface-modem.c')
-rw-r--r-- | src/mm-iface-modem.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c index a94c799a..c4b808c2 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); |