RDMA/mthca: Fix crash when polling CQ for shared QPs
[ Upstream commitdc52aadbc1] Commit21c2fe94ab("RDMA/mthca: Combine special QP struct with mthca QP") introduced a new struct mthca_sqp which doesn't contain struct mthca_qp any longer. Placing a pointer of this new struct into qptable leads to crashes, because mthca_poll_one() expects a qp pointer. Fix this by putting the correct pointer into qptable. Fixes:21c2fe94ab("RDMA/mthca: Combine special QP struct with mthca QP") Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de> Link: https://lore.kernel.org/r/20230713141658.9426-1-tbogendoerfer@suse.de Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
62a8a4cafa
commit
b0100bdb9d
@@ -1390,7 +1390,7 @@ int mthca_alloc_sqp(struct mthca_dev *dev,
|
|||||||
if (mthca_array_get(&dev->qp_table.qp, mqpn))
|
if (mthca_array_get(&dev->qp_table.qp, mqpn))
|
||||||
err = -EBUSY;
|
err = -EBUSY;
|
||||||
else
|
else
|
||||||
mthca_array_set(&dev->qp_table.qp, mqpn, qp->sqp);
|
mthca_array_set(&dev->qp_table.qp, mqpn, qp);
|
||||||
spin_unlock_irq(&dev->qp_table.lock);
|
spin_unlock_irq(&dev->qp_table.lock);
|
||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
|
|||||||
Reference in New Issue
Block a user