bearer-qmi: add udev device tag ID_MM_QMI_PCO_DISABLED to disable PCO
Some modems like the Qualcomm-based Cellient MPL200 and SimTech SIM7100E will crash some time after requesting operator reserved PCO. The new udev tag ID_MM_QMI_PCO_DISABLED disables the PCO settings request when set, indirectly disabling PCO. Signed-off-by: Stig M. Baugstø <1129097-stigma@users.noreply.gitlab.freedesktop.org>
This commit is contained in:
+14
-5
@@ -1103,10 +1103,12 @@ get_current_settings_ready (QmiClientWds *client,
|
||||
static void
|
||||
get_current_settings (GTask *task, QmiClientWds *client)
|
||||
{
|
||||
ConnectContext *ctx;
|
||||
QmiMessageWdsGetCurrentSettingsInput *input;
|
||||
QmiWdsRequestedSettings requested;
|
||||
MMBearerQmi *self;
|
||||
ConnectContext *ctx;
|
||||
QmiMessageWdsGetCurrentSettingsInput *input;
|
||||
QmiWdsRequestedSettings requested;
|
||||
|
||||
self = g_task_get_source_object (task);
|
||||
ctx = g_task_get_task_data (task);
|
||||
g_assert (ctx->running_ipv4 || ctx->running_ipv6);
|
||||
|
||||
@@ -1116,8 +1118,15 @@ get_current_settings (GTask *task, QmiClientWds *client)
|
||||
QMI_WDS_REQUESTED_SETTINGS_GATEWAY_INFO |
|
||||
QMI_WDS_REQUESTED_SETTINGS_MTU |
|
||||
QMI_WDS_REQUESTED_SETTINGS_DOMAIN_NAME_LIST |
|
||||
QMI_WDS_REQUESTED_SETTINGS_IP_FAMILY |
|
||||
QMI_WDS_REQUESTED_SETTINGS_OPERATOR_RESERVED_PCO;
|
||||
QMI_WDS_REQUESTED_SETTINGS_IP_FAMILY;
|
||||
|
||||
/* Modems like Qualcomm MPL200 and SimTech SIM7100E eventually crash when enabling PCO.
|
||||
* Avoid crashing by skip registering for PCO */
|
||||
if (!mm_kernel_device_get_global_property_as_boolean (mm_port_peek_kernel_device (MM_PORT (ctx->qmi)),
|
||||
"ID_MM_QMI_PCO_DISABLED")) {
|
||||
mm_obj_dbg (self, "Requesting QMI WDS Operator Reserved PCO");
|
||||
requested |= QMI_WDS_REQUESTED_SETTINGS_OPERATOR_RESERVED_PCO;
|
||||
}
|
||||
|
||||
input = qmi_message_wds_get_current_settings_input_new ();
|
||||
qmi_message_wds_get_current_settings_input_set_requested_settings (input, requested, NULL);
|
||||
|
||||
Reference in New Issue
Block a user