diff options
author | Thomas Bogendoerfer <tbogendoerfer@suse.de> | 2023-07-13 17:16:58 +0300 |
---|---|---|
committer | Leon Romanovsky <leon@kernel.org> | 2023-07-17 08:02:13 +0300 |
commit | dc52aadbc1849cbe3fcf6bc54d35f6baa396e0a1 (patch) | |
tree | 02a4d997afb9fdbb12baca1e9f3326a038630eda /drivers/infiniband | |
parent | 0e15863015d97c1ee2cc29d599abcc7fa2dc3e95 (diff) | |
download | linux-dc52aadbc1849cbe3fcf6bc54d35f6baa396e0a1.tar.xz |
RDMA/mthca: Fix crash when polling CQ for shared QPs
Commit 21c2fe94abb2 ("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: 21c2fe94abb2 ("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>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_qp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c index 69bba0ef4a5d..53f43649f7d0 100644 --- a/drivers/infiniband/hw/mthca/mthca_qp.c +++ b/drivers/infiniband/hw/mthca/mthca_qp.c @@ -1393,7 +1393,7 @@ int mthca_alloc_sqp(struct mthca_dev *dev, if (mthca_array_get(&dev->qp_table.qp, mqpn)) err = -EBUSY; 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); if (err) |