OSDN Git Service

RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR
authorMajd Dibbiny <majd@mellanox.com>
Mon, 5 Nov 2018 06:07:37 +0000 (08:07 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 21 Nov 2018 21:03:00 +0000 (14:03 -0700)
commit074fca3a18e7e1e0d4d7dcc9d7badc43b90232f4
tree450fb0b63db369ad99d8c55419ba93e4e65a32d4
parent99b77fef3c6c69bb7664f1ac97a69d5b17968dae
RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR

Currently, for IB_WR_LOCAL_INV WR, when the next fence is None, the
current fence will be SMALL instead of Normal Fence.

Without this patch krping doesn't work on CX-5 devices and throws
following error:

The error messages are from CX5 driver are: (from server side)
[ 710.434014] mlx5_0:dump_cqe:278:(pid 2712): dump error cqe
[ 710.434016] 00000000 00000000 00000000 00000000
[ 710.434016] 00000000 00000000 00000000 00000000
[ 710.434017] 00000000 00000000 00000000 00000000
[ 710.434018] 00000000 93003204 100000b8 000524d2
[ 710.434019] krping: cq completion failed with wr_id 0 status 4 opcode 128 vender_err 32

Fixed the logic to set the correct fence type.

Fixes: 6e8484c5cf07 ("RDMA/mlx5: set UMR wqe fence according to HCA cap")
Signed-off-by: Majd Dibbiny <majd@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/mlx5/qp.c