aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mm-broadband-modem-mbim.c8
-rw-r--r--src/mm-context.c18
-rw-r--r--src/mm-context.h3
3 files changed, 27 insertions, 2 deletions
diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c
index a5e11e68..c401c7d1 100644
--- a/src/mm-broadband-modem-mbim.c
+++ b/src/mm-broadband-modem-mbim.c
@@ -28,6 +28,7 @@
#include "mm-sms-mbim.h"
#include "ModemManager.h"
+#include "mm-context.h"
#include "mm-log-object.h"
#include "mm-errors-types.h"
#include "mm-error-helpers.h"
@@ -2634,8 +2635,11 @@ query_device_services_ready (MbimDevice *device,
mm_obj_dbg (self, "5GNR registration settings are supported");
self->priv->is_nr5g_registration_settings_supported = TRUE;
} else if (device_services[i]->cids[j] == MBIM_CID_MS_BASIC_CONNECT_EXTENSIONS_PROVISIONED_CONTEXTS) {
- mm_obj_dbg (self, "Profile management extension is supported");
- self->priv->is_profile_management_ext_supported = TRUE;
+ if (mm_context_get_test_mbimex_profile_management ()) {
+ mm_obj_dbg (self, "Profile management extension is supported");
+ self->priv->is_profile_management_ext_supported = TRUE;
+ } else
+ mm_obj_dbg (self, "Profile management extension is supported but not allowed");
}
}
continue;
diff --git a/src/mm-context.c b/src/mm-context.c
index e86c57da..ee9b372c 100644
--- a/src/mm-context.c
+++ b/src/mm-context.c
@@ -227,6 +227,9 @@ static gboolean test_quick_suspend_resume;
static gboolean test_no_qrtr;
#endif
static gboolean test_multiplex_requested;
+#if defined WITH_MBIM
+static gboolean test_mbimex_profile_management;
+#endif
static const GOptionEntry test_entries[] = {
{
@@ -275,6 +278,13 @@ static const GOptionEntry test_entries[] = {
"Default to request multiplex support if no explicitly given",
NULL
},
+#if defined WITH_MBIM
+ {
+ "test-mbimex-profile-management", 0, 0, G_OPTION_ARG_NONE, &test_mbimex_profile_management,
+ "Default to use profile management MBIM extensions",
+ NULL
+ },
+#endif
{ NULL }
};
@@ -345,6 +355,14 @@ mm_context_get_test_multiplex_requested (void)
return test_multiplex_requested;
}
+#if defined WITH_MBIM
+gboolean
+mm_context_get_test_mbimex_profile_management (void)
+{
+ return test_mbimex_profile_management;
+}
+#endif
+
/*****************************************************************************/
static void
diff --git a/src/mm-context.h b/src/mm-context.h
index fefd574e..2a69e11c 100644
--- a/src/mm-context.h
+++ b/src/mm-context.h
@@ -57,5 +57,8 @@ gboolean mm_context_get_test_quick_suspend_resume (void);
gboolean mm_context_get_test_no_qrtr (void);
#endif
gboolean mm_context_get_test_multiplex_requested (void);
+#if defined WITH_MBIM
+gboolean mm_context_get_test_mbimex_profile_management (void);
+#endif
#endif /* MM_CONTEXT_H */