Skip to content
Commit c2186223 authored by Erez Shitrit's avatar Erez Shitrit Committed by Greg Kroah-Hartman
Browse files

net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs

commit 1e5daf55 upstream.

When calculating crc for hash index we use the function crc32 that
calculates for little-endian (LE) arch.
Then we convert it to network endianness using htonl(), but it's wrong
to do the conversion in BE archs since the crc32 value is already LE.

The solution is to switch the bytes from the crc result for all types
of arc.

Fixes: 40416d8e

 ("net/mlx5: DR, Replace CRC32 implementation to use kernel lib")
Signed-off-by: default avatarErez Shitrit <erezsh@nvidia.com>
Reviewed-by: default avatarAlex Vesker <valex@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 058fd18e
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment