diff options
-rw-r--r-- | src/mm-broadband-modem-qmi.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c index 4a316c55..676bca95 100644 --- a/src/mm-broadband-modem-qmi.c +++ b/src/mm-broadband-modem-qmi.c @@ -286,8 +286,17 @@ load_current_capabilities_get_capabilities_ready (QmiClientDms *client, */ if (ctx->capabilities == MM_MODEM_CAPABILITY_NONE) ctx->capabilities = mask; - else + else { ctx->capabilities &= mask; + + /* 4G is a special case here. We may not get 4G reported by TP/SSP + * because the current configuration is e.g. 2g-only, but still we can + * afterwards change to 4G allowed mode with either TP/SSP. So, if + * the modem reports LTE as capabilities, make sure we add it to the + * current capabilities, even if not currently allowed */ + if (mask & MM_MODEM_CAPABILITY_LTE) + ctx->capabilities |= MM_MODEM_CAPABILITY_LTE; + } } if (output) |