mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
RDMA/rxe: Fix mw bind to allow any consumer key portion
[ Upstream commit1603f89935] The current implementation of rxe_check_bind_mw() in rxe_mw.c is incorrect since it requires the new key portion provided by the mw consumer to be different than the previous key portion. This is not required by the IBA. Remove the test. Link: https://lore.kernel.org/linux-rdma/fb4614e7-4cac-0dc7-3ef7-766dfd10e8f2@gmail.com/ Fixes:32a577b4c3("Add support for bind MW work requests") Link: https://lore.kernel.org/r/20220714204619.13396-1-rpearsonhpe@gmail.com Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
45382d6907
commit
022c8d3f45
@@ -71,8 +71,6 @@ int rxe_dealloc_mw(struct ib_mw *ibmw)
|
||||
static int rxe_check_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
|
||||
struct rxe_mw *mw, struct rxe_mr *mr)
|
||||
{
|
||||
u32 key = wqe->wr.wr.mw.rkey & 0xff;
|
||||
|
||||
if (mw->ibmw.type == IB_MW_TYPE_1) {
|
||||
if (unlikely(mw->state != RXE_MW_STATE_VALID)) {
|
||||
pr_err_once(
|
||||
@@ -110,11 +108,6 @@ static int rxe_check_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
|
||||
}
|
||||
}
|
||||
|
||||
if (unlikely(key == (mw->rkey & 0xff))) {
|
||||
pr_err_once("attempt to bind MW with same key\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* remaining checks only apply to a nonzero MR */
|
||||
if (!mr)
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user