aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-03-25 01:09:24 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-26 09:35:09 +0200
commitf6d8c52bc91743782497c56f3b25de4cabbcc643 (patch)
tree5db29050eee78f07dc26dcea306d532973e5c357 /src
parentae50d291cda0def4757a84bf808aa159aa5da184 (diff)
iface-modem: do not try to set new allowed/preferred config if modem already in there
Diffstat (limited to 'src')
-rw-r--r--src/mm-iface-modem.c8
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);