aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-03-24 18:58:55 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-24 19:16:53 +0100
commit41a592b5352281db24a030065778731dec87e53a (patch)
tree78124bbe5a1f2751e275ae33fefb383ef793488e /src
parent19436a99068f758fe96dacd282be52082086616e (diff)
iface-modem: treat ANY in allowed modes as being equal to the list of supported modes
Diffstat (limited to 'src')
-rw-r--r--src/mm-iface-modem.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index f655cca1..2285b574 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -1799,12 +1799,16 @@ mm_iface_modem_set_allowed_modes (MMIfaceModem *self,
g_object_get (self,
MM_IFACE_MODEM_DBUS_SKELETON, &ctx->skeleton,
NULL);
- ctx->allowed = allowed;
- ctx->preferred = preferred;
-
/* Get list of supported modes */
supported = mm_gdbus_modem_get_supported_modes (ctx->skeleton);
+ /* Whenever we get 'any', just reset to be equal to the list of supported modes */
+ if (allowed == MM_MODEM_MODE_ANY)
+ allowed = supported;
+
+ ctx->allowed = allowed;
+ ctx->preferred = preferred;
+
/* Check if any of the modes being allowed is not supported */
not_supported = ((supported ^ allowed) & allowed);