aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniele Palmas <dnlplm@gmail.com>2023-07-12 15:40:21 +0200
committerDaniele Palmas <dnlplm@gmail.com>2023-07-17 13:47:19 +0200
commit16f9ff68fb5460b423d3fdf9a5221c32819de3fc (patch)
tree249f4e9d35205192d498b5d12d967f737493e8d0
parentb75198d9f957b4ddd6076a177491c4d9bb274a0a (diff)
port-qmi: fix rmnet checksum flag with qmi_wwan
When using QMAPv5 and QMAPv4 the checksum is enabled by default at the modem level, so it should be also enabled when creating the rmnet netdevices: add the required flags also when rmnet is used through qmi_wwan.
-rw-r--r--src/mm-port-qmi.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mm-port-qmi.c b/src/mm-port-qmi.c
index 3e6e82da..df0909b3 100644
--- a/src/mm-port-qmi.c
+++ b/src/mm-port-qmi.c
@@ -712,6 +712,18 @@ get_rmnet_device_add_link_flags (MMPortQmi *self)
}
}
+ if (g_strcmp0 (self->priv->net_driver, "qmi_wwan") == 0) {
+ QmiWdaDataAggregationProtocol dap;
+
+ dap = mm_port_qmi_get_data_aggregation_protocol (self);
+ if (dap == QMI_WDA_DATA_AGGREGATION_PROTOCOL_QMAPV5)
+ flags |= (QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV5 |
+ QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV5);
+ else if (dap == QMI_WDA_DATA_AGGREGATION_PROTOCOL_QMAPV4)
+ flags |= (QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV4 |
+ QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV4);
+ }
+
flags_str = qmi_device_add_link_flags_build_string_from_mask (flags);
mm_obj_dbg (self, "Creating RMNET link with flags: %s", flags_str);
return flags;