[PATCH 1/7] compress/mlx5: fix wrong output Adler-32 checksum offset
Michael Baum
michaelba at nvidia.com
Mon Jan 9 08:58:32 CET 2023
After de/compress dequeue, the output checksum is copied into the op
structure. The "output_checksum" field in op structure is "uint64_t"
type, and the 32-bit checksums (CRC32, Adler-32) are copied into the
lower 32 bits.
When both CRC32 and Adler-32 are configured, CRC32 is copied into the
lower 32 bits and Adler-32 into the upper 32 bits.
However, in mlx5 PMD Adler-32 without CRC, is mistakenly copied into the
upper 32 bits.
This patch updates Adler-32 output checksun to be copied into the
lower 32 bits.
Fixes: f8c97babc9f4 ("compress/mlx5: add data-path functions")
Cc: matan at nvidia.com
Cc: stable at dpdk.org
Signed-off-by: Michael Baum <michaelba at nvidia.com>
---
drivers/compress/mlx5/mlx5_compress.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c
index 459e4b5e8a..c0a861e5e4 100644
--- a/drivers/compress/mlx5/mlx5_compress.c
+++ b/drivers/compress/mlx5/mlx5_compress.c
@@ -633,7 +633,7 @@ mlx5_compress_dequeue_burst(void *queue_pair, struct rte_comp_op **ops,
break;
case RTE_COMP_CHECKSUM_ADLER32:
op->output_chksum = (uint64_t)rte_be_to_cpu_32
- (opaq[idx].adler32) << 32;
+ (opaq[idx].adler32);
break;
case RTE_COMP_CHECKSUM_CRC32_ADLER32:
op->output_chksum = (uint64_t)rte_be_to_cpu_32
--
2.25.1
More information about the stable
mailing list