diff options
-rw-r--r-- | src/mm-iface-modem.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c index 2285b574..3852d94d 100644 --- a/src/mm-iface-modem.c +++ b/src/mm-iface-modem.c @@ -1809,6 +1809,14 @@ mm_iface_modem_set_allowed_modes (MMIfaceModem *self, ctx->allowed = allowed; ctx->preferred = preferred; + /* Check if we already are in the requested setup */ + if (mm_gdbus_modem_get_allowed_modes (ctx->skeleton) == allowed && + mm_gdbus_modem_get_preferred_mode (ctx->skeleton) == preferred) { + g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE); + set_allowed_modes_context_complete_and_free (ctx); + return; + } + /* Check if any of the modes being allowed is not supported */ not_supported = ((supported ^ allowed) & allowed); |