diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-24 18:58:55 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-24 19:16:53 +0100 |
commit | 41a592b5352281db24a030065778731dec87e53a (patch) | |
tree | 78124bbe5a1f2751e275ae33fefb383ef793488e /src | |
parent | 19436a99068f758fe96dacd282be52082086616e (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.c | 10 |
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); |