Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libhns: Bugfix for wrong timing of modifying ibv_qp state to err
[ Upstream commit 886cf76 ] Currently the QPC state in HW is modified inside the critical section of spinlock but the ibv_qp state is modified outside. There will be a short period when QPC state has been modified to err with ibv_qp state still remaining RTS. WQEs during this period will still be post-send by RTS-state ibv_qp but then dropped by err-state HW with no flush CQEs generated. To fix this problem, the QPC state in HW and ibv_qp state should be both modified to err inside the critical section of spinlock. Fixes: f1a80cc ("libhns: Bugfix for flush cqe in case multi-process") Signed-off-by: Yangyang Li <liyangyang20@huawei.com> Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com> Signed-off-by: Nicolas Morey <nmorey@suse.com>
- Loading branch information