diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2022-01-31 22:34:56 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2022-01-31 22:48:57 +0100 |
commit | c7ff014e07ee5bfcfa4ba7e235c1c234ad77245a (patch) | |
tree | 17a67e1efc623248423177687cd1bde080cb53f4 /src/mm-modem-helpers-qmi.h | |
parent | ccf0b7eba2bf2abc2c81e5d68dc5872a15b515c2 (diff) |
modem-helpers-qmi: multimode devices shouldn't always have 4G/5G only modes
In GSM/UMTS+CDMA/EVDO multimode devices, the 4G and 5G mode switching
operations are exclusively limited to the capability selection that
has LTE+5GNR exclusively.
We cannot allow switching to 4G-only, 5G-only or 4G+5G if the current
capabilities have GSM/UMTS or CDMA/EVDO.
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/503
Diffstat (limited to 'src/mm-modem-helpers-qmi.h')
-rw-r--r-- | src/mm-modem-helpers-qmi.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mm-modem-helpers-qmi.h b/src/mm-modem-helpers-qmi.h index fecefc6d..e4eb9c7e 100644 --- a/src/mm-modem-helpers-qmi.h +++ b/src/mm-modem-helpers-qmi.h @@ -24,6 +24,8 @@ #include "mm-port.h" +#define MM_MODEM_CAPABILITY_MULTIMODE (MM_MODEM_CAPABILITY_GSM_UMTS | MM_MODEM_CAPABILITY_CDMA_EVDO) + /*****************************************************************************/ /* QMI/DMS to MM translations */ @@ -160,6 +162,8 @@ gboolean mm_error_from_qmi_loc_indication_status (QmiLocIndicationStatus statu /* Utility to gather current capabilities from various sources */ typedef struct { + /* Whether this is a multimode device or not */ + gboolean multimode; /* NAS System Selection Preference */ QmiNasRatModePreference nas_ssp_mode_preference_mask; /* NAS Technology Preference */ @@ -175,6 +179,8 @@ MMModemCapability mm_current_capability_from_qmi_current_capabilities_context (M /* Utility to build list of supported capabilities from various sources */ typedef struct { + /* Whether this is a multimode device or not */ + gboolean multimode; /* NAS System Selection Preference */ gboolean nas_ssp_supported; /* NAS Technology Preference */ @@ -190,6 +196,8 @@ GArray *mm_supported_capabilities_from_qmi_supported_capabilities_context (MMQmi /* Utility to build list of supported modes from various sources */ typedef struct { + /* Whether this is a multimode device or not */ + gboolean multimode; /* NAS System Selection Preference */ gboolean nas_ssp_supported; /* NAS Technology Preference */ |