aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mm-modem-helpers-qmi.c5
-rw-r--r--src/tests/test-modem-helpers-qmi.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/src/mm-modem-helpers-qmi.c b/src/mm-modem-helpers-qmi.c
index 3331de6a..efe3686d 100644
--- a/src/mm-modem-helpers-qmi.c
+++ b/src/mm-modem-helpers-qmi.c
@@ -1187,6 +1187,11 @@ mm_modem_capability_from_qmi_capabilities_context (MMQmiCapabilitiesContext *ctx
else
tmp &= ctx->dms_capabilities;
+ /* Modems which have 'LTE' capability reported by DMS will always have it
+ * reported in 'current capabilities', even if it may not be currently
+ * allowed (i.e. not selected in 'allowed-modes') */
+ if (ctx->dms_capabilities & MM_MODEM_CAPABILITY_LTE)
+ tmp |= MM_MODEM_CAPABILITY_LTE;
/* Log about the logic applied */
nas_ssp_mode_preference_str = qmi_nas_rat_mode_preference_build_string_from_mask (ctx->nas_ssp_mode_preference_mask);
diff --git a/src/tests/test-modem-helpers-qmi.c b/src/tests/test-modem-helpers-qmi.c
index 19e41882..178591f6 100644
--- a/src/tests/test-modem-helpers-qmi.c
+++ b/src/tests/test-modem-helpers-qmi.c
@@ -70,7 +70,9 @@ test_uml290 (void)
ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS |
MM_MODEM_CAPABILITY_CDMA_EVDO |
MM_MODEM_CAPABILITY_LTE);
- test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_CDMA_EVDO);
+ test_capabilities_expected (&ctx,
+ (MM_MODEM_CAPABILITY_CDMA_EVDO |
+ MM_MODEM_CAPABILITY_LTE));
/* QCDM -> GSM/UMTS */
ctx.nas_ssp_mode_preference_mask = (QMI_NAS_RAT_MODE_PREFERENCE_GSM |
@@ -81,7 +83,9 @@ test_uml290 (void)
ctx.dms_capabilities = (MM_MODEM_CAPABILITY_GSM_UMTS |
MM_MODEM_CAPABILITY_CDMA_EVDO |
MM_MODEM_CAPABILITY_LTE);
- test_capabilities_expected (&ctx, MM_MODEM_CAPABILITY_GSM_UMTS);
+ test_capabilities_expected (&ctx,
+ (MM_MODEM_CAPABILITY_GSM_UMTS |
+ MM_MODEM_CAPABILITY_LTE));
/* QCDM -> Automatic */
ctx.nas_ssp_mode_preference_mask = 0;