Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libhns: Fix owner bit when SQ wraps around in new IO
Commit c292b78 ("libhns: Fix the owner bit error of sq in new io") fixed a bug that the SQ head was updated before the owner bit was filled in WQE, but only when using ibv_wr_set_sge(). Actually this bug still exists in other ibv_wr_set_*(). For example, in the flow below, the driver will fill the owner bit in ibv_wr_rdma_write(), but mistakenly overwrite it again in ibv_wr_set_sge_list() or ibv_wr_set_inline_data_list(). ```c ibv_wr_start(); ibv_wr_rdma_write(); if (inline) ibv_wr_set_inline_data_list(); else ibv_wr_set_sge_list(); ibv_wr_complete(); ``` When the SQ wraps around, the overwritten value will be incorrect. Remove all the incorrect owner bit filling in ibv_wr_set_*(). Fixes: 36446a5 ("libhns: Extended QP supports the new post send mechanism") Fixes: c292b78 ("libhns: Fix the owner bit error of sq in new io") Signed-off-by: Chengchang Tang <[email protected]> Signed-off-by: Junxian Huang <[email protected]>
- Loading branch information