diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-modem-helpers-qmi.c | 5 | ||||
-rw-r--r-- | src/tests/test-modem-helpers-qmi.c | 8 |
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; |