aboutsummaryrefslogtreecommitdiff
path: root/src/mm-port-qmi.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2021-08-06 09:20:53 +0200
committerAleksander Morgado <aleksander@aleksander.es>2021-08-09 12:22:26 +0000
commit5adc469701abc6b08432cb0f59294cb52755354b (patch)
tree1ff3e00a687efbec199ade84be4e537429231dc0 /src/mm-port-qmi.c
parent185e492c0a0e633ed92f8ffdb1c426d0e4300ae1 (diff)
port-qmi: only consider port setup not needed if data modes match
When not requesting multiplexing support, only assume we don't need any additional setup if multiplexing is disabled AND if the data modes match between kernel and device. This fixes the connection setup in MSM8916 (rpmsg+bam/dmux).
Diffstat (limited to 'src/mm-port-qmi.c')
-rw-r--r--src/mm-port-qmi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mm-port-qmi.c b/src/mm-port-qmi.c
index c65c4de5..5cccb02a 100644
--- a/src/mm-port-qmi.c
+++ b/src/mm-port-qmi.c
@@ -2057,7 +2057,8 @@ mm_port_qmi_setup_data_format (MMPortQmi *self,
}
if ((action == MM_PORT_QMI_SETUP_DATA_FORMAT_ACTION_SET_DEFAULT) &&
- (!(self->priv->kernel_data_modes & (MM_PORT_QMI_KERNEL_DATA_MODE_MUX_RMNET | MM_PORT_QMI_KERNEL_DATA_MODE_MUX_QMIWWAN))) &&
+ (((self->priv->kernel_data_modes & MM_PORT_QMI_KERNEL_DATA_MODE_RAW_IP) && (self->priv->llp == QMI_WDA_LINK_LAYER_PROTOCOL_RAW_IP)) ||
+ ((self->priv->kernel_data_modes & MM_PORT_QMI_KERNEL_DATA_MODE_802_3) && (self->priv->llp == QMI_WDA_LINK_LAYER_PROTOCOL_802_3))) &&
!MM_PORT_QMI_DAP_IS_SUPPORTED_QMAP (self->priv->dap)) {
mm_obj_dbg (self, "multiplex support already disabled when setting up data format");
g_task_return_boolean (task, TRUE);