diff options
author | Saeed Mahameed <saeedm@mellanox.com> | 2019-05-03 13:14:59 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-07-28 08:28:35 +0200 |
commit | 2260ec46cd26dd98eabd16b3be183b33dde12017 (patch) | |
tree | 191c2fd618195ed23531843a48b1e5c8a5d938aa /drivers/net/ethernet/mellanox/mlx5/core/en_main.c | |
parent | 8c1dd131d9f818672d74e8a532e2fc5b01013b9a (diff) | |
download | linux-stable-2260ec46cd26dd98eabd16b3be183b33dde12017.tar.gz linux-stable-2260ec46cd26dd98eabd16b3be183b33dde12017.tar.bz2 linux-stable-2260ec46cd26dd98eabd16b3be183b33dde12017.zip |
net/mlx5e: Rx, Fix checksum calculation for new hardware
[ Upstream commit db849faa9bef993a1379dc510623f750a72fa7ce ]
CQE checksum full mode in new HW, provides a full checksum of rx frame.
Covering bytes starting from eth protocol up to last byte in the received
frame (frame_size - ETH_HLEN), as expected by the stack.
Fixing up skb->csum by the driver is not required in such case. This fix
is to avoid wrong checksum calculation in drivers which already support
the new hardware with the new checksum mode.
Fixes: 85327a9c4150 ("net/mlx5: Update the list of the PCI supported devices")
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_main.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 6a8dc73855c9..2793e4036953 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -948,6 +948,9 @@ static int mlx5e_open_rq(struct mlx5e_channel *c, if (err) goto err_destroy_rq; + if (MLX5_CAP_ETH(c->mdev, cqe_checksum_full)) + __set_bit(MLX5E_RQ_STATE_CSUM_FULL, &c->rq.state); + if (params->rx_dim_enabled) __set_bit(MLX5E_RQ_STATE_AM, &c->rq.state); |