[dpdk-dev] net/mlx5: fix CRC strip cap query

Message ID 20180201185353.93449-1-shahafs@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Shahaf Shuler Feb. 1, 2018, 6:53 p.m. UTC
  IBV_WQ_FLAGS_SCATTER_FCS is a WQ flag to be used to configure the CRC
strip on a queue upon creation.

Using IBV_RAW_PACKET_CAP_SCATTER_FCS instead to query to capability.
Even though this is RAW_QP capability, it is being used by rdma-core to
indicate for both RAW_QP and WQ.

Fixes: 43e9d9794cde ("net/mlx5: support upstream rdma-core")
Cc: stable@dpdk.org

Reported-by: Alex Rosenbaum <alexr@mellanox.com>
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
  

Comments

Yongseok Koh Feb. 1, 2018, 7:20 p.m. UTC | #1
> On Feb 1, 2018, at 10:53 AM, Shahaf Shuler <shahafs@mellanox.com> wrote:
> 
> IBV_WQ_FLAGS_SCATTER_FCS is a WQ flag to be used to configure the CRC
> strip on a queue upon creation.
> 
> Using IBV_RAW_PACKET_CAP_SCATTER_FCS instead to query to capability.
> Even though this is RAW_QP capability, it is being used by rdma-core to
> indicate for both RAW_QP and WQ.
> 
> Fixes: 43e9d9794cde ("net/mlx5: support upstream rdma-core")
> Cc: stable@dpdk.org
> 
> Reported-by: Alex Rosenbaum <alexr@mellanox.com>
> Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
> ---
Acked-by: Yongseok Koh <yskoh@mellanox.com>
 
Thanks
  

Patch

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 544599b01..02082c107 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -895,9 +895,8 @@  mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 		DEBUG("VLAN stripping is %ssupported",
 		      (config.hw_vlan_strip ? "" : "not "));
 
-		config.hw_fcs_strip =
-				!!(device_attr_ex.orig_attr.device_cap_flags &
-				IBV_WQ_FLAGS_SCATTER_FCS);
+		config.hw_fcs_strip = !!(device_attr_ex.raw_packet_caps &
+					 IBV_RAW_PACKET_CAP_SCATTER_FCS);
 		DEBUG("FCS stripping configuration is %ssupported",
 		      (config.hw_fcs_strip ? "" : "not "));