IB/mlx5: Fix post send fence logic
authorEli Cohen <eli@mellanox.com>
Wed, 22 Jun 2016 14:27:26 +0000 (17:27 +0300)
committerJiri Slaby <jslaby@suse.cz>
Fri, 19 Aug 2016 07:51:22 +0000 (09:51 +0200)
commit871ac53ff20207ce73ce23ee8afe1fe4bac7aaa0
tree38c209ddd6410b0965a3345de8ad6da85f0444f6
parentd70382dd16741064205c869e3c9f628f8110d6ca
IB/mlx5: Fix post send fence logic

commit c9b254955b9f8814966f5dabd34c39d0e0a2b437 upstream.

If the caller specified IB_SEND_FENCE in the send flags of the work
request and no previous work request stated that the successive one
should be fenced, the work request would be executed without a fence.
This could result in RDMA read or atomic operations failure due to a MR
being invalidated. Fix this by adding the mlx5 enumeration for fencing
RDMA/atomic operations and fix the logic to apply this.

Fixes: e126ba97dba9 ('mlx5: Add driver for Mellanox Connect-IB adapters')
Signed-off-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/infiniband/hw/mlx5/qp.c
include/linux/mlx5/qp.h