aboutsummaryrefslogtreecommitdiff
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
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).
-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);