diff options
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); |