aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mm-broadband-modem-qmi.c11
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)