]> www.infradead.org Git - users/hch/misc.git/commit
RDMA/hns: Fix out-of-order issue of requester when setting FENCE
authorJunxian Huang <huangjunxian6@hisilicon.com>
Fri, 8 Nov 2024 07:57:42 +0000 (15:57 +0800)
committerLeon Romanovsky <leon@kernel.org>
Sun, 10 Nov 2024 14:29:53 +0000 (09:29 -0500)
commit5dbcb1c1900f45182b5651c89257c272f1f3ead7
tree1ca8f366a6bf9aa8ba5c5461de95715f1306fc02
parent7566752e4d7d7fc0186531aa800068a7243f95c1
RDMA/hns: Fix out-of-order issue of requester when setting FENCE

The FENCE indicator in hns WQE doesn't ensure that response data from
a previous Read/Atomic operation has been written to the requester's
memory before the subsequent Send/Write operation is processed. This
may result in the subsequent Send/Write operation accessing the original
data in memory instead of the expected response data.

Unlike FENCE, the SO (Strong Order) indicator blocks the subsequent
operation until the previous response data is written to memory and a
bresp is returned. Set the SO indicator instead of FENCE to maintain
strict order.

Fixes: 9a4435375cd1 ("IB/hns: Add driver files for hns RoCE driver")
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Link: https://patch.msgid.link/20241108075743.2652258-2-huangjunxian6@hisilicon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
drivers/infiniband/hw/hns/hns_roce_hw_v2.h