diff options
author | Daniele Palmas <dnlplm@gmail.com> | 2023-07-12 15:40:21 +0200 |
---|---|---|
committer | Daniele Palmas <dnlplm@gmail.com> | 2023-07-17 13:47:19 +0200 |
commit | 16f9ff68fb5460b423d3fdf9a5221c32819de3fc (patch) | |
tree | 249f4e9d35205192d498b5d12d967f737493e8d0 | |
parent | b75198d9f957b4ddd6076a177491c4d9bb274a0a (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.c | 12 |
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; |