aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/en_rx.c4
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/fw.c1
-rw-r--r--include/linux/mlx4/device.h1
3 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
index 46a0df9afc3c..c47d73707f2c 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
@@ -806,6 +806,10 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv, int qpn,
806 qpn, ring->cqn, context); 806 qpn, ring->cqn, context);
807 context->db_rec_addr = cpu_to_be64(ring->wqres.db.dma); 807 context->db_rec_addr = cpu_to_be64(ring->wqres.db.dma);
808 808
809 /* Cancel FCS removal if FW allows */
810 if (mdev->dev->caps.flags & MLX4_DEV_CAP_FLAG_FCS_KEEP)
811 context->param3 |= cpu_to_be32(1 << 29);
812
809 err = mlx4_qp_to_ready(mdev->dev, &ring->wqres.mtt, context, qp, state); 813 err = mlx4_qp_to_ready(mdev->dev, &ring->wqres.mtt, context, qp, state);
810 if (err) { 814 if (err) {
811 mlx4_qp_remove(mdev->dev, qp); 815 mlx4_qp_remove(mdev->dev, qp);
diff --git a/drivers/net/ethernet/mellanox/mlx4/fw.c b/drivers/net/ethernet/mellanox/mlx4/fw.c
index 7eb8ba822e97..ed452ddfe342 100644
--- a/drivers/net/ethernet/mellanox/mlx4/fw.c
+++ b/drivers/net/ethernet/mellanox/mlx4/fw.c
@@ -101,6 +101,7 @@ static void dump_dev_cap_flags(struct mlx4_dev *dev, u64 flags)
101 [25] = "Router support", 101 [25] = "Router support",
102 [30] = "IBoE support", 102 [30] = "IBoE support",
103 [32] = "Unicast loopback support", 103 [32] = "Unicast loopback support",
104 [34] = "FCS header control",
104 [38] = "Wake On LAN support", 105 [38] = "Wake On LAN support",
105 [40] = "UDP RSS support", 106 [40] = "UDP RSS support",
106 [41] = "Unicast VEP steering support", 107 [41] = "Unicast VEP steering support",
diff --git a/include/linux/mlx4/device.h b/include/linux/mlx4/device.h
index 53ef894bfa05..2366f94a095a 100644
--- a/include/linux/mlx4/device.h
+++ b/include/linux/mlx4/device.h
@@ -75,6 +75,7 @@ enum {
75 MLX4_DEV_CAP_FLAG_UD_MCAST = 1LL << 21, 75 MLX4_DEV_CAP_FLAG_UD_MCAST = 1LL << 21,
76 MLX4_DEV_CAP_FLAG_IBOE = 1LL << 30, 76 MLX4_DEV_CAP_FLAG_IBOE = 1LL << 30,
77 MLX4_DEV_CAP_FLAG_UC_LOOPBACK = 1LL << 32, 77 MLX4_DEV_CAP_FLAG_UC_LOOPBACK = 1LL << 32,
78 MLX4_DEV_CAP_FLAG_FCS_KEEP = 1LL << 34,
78 MLX4_DEV_CAP_FLAG_WOL = 1LL << 38, 79 MLX4_DEV_CAP_FLAG_WOL = 1LL << 38,
79 MLX4_DEV_CAP_FLAG_UDP_RSS = 1LL << 40, 80 MLX4_DEV_CAP_FLAG_UDP_RSS = 1LL << 40,
80 MLX4_DEV_CAP_FLAG_VEP_UC_STEER = 1LL << 41, 81 MLX4_DEV_CAP_FLAG_VEP_UC_STEER = 1LL << 41,