Skip to content

Commit f0e3b33

Browse files
selvintxaviergregkh
authored andcommitted
RDMA/bnxt_re: Do not add user qps to flushlist
[ Upstream commit a812f2d ] Driver shall add only the kernel qps to the flush list for clean up. During async error events from the HW, driver is adding qps to this list without checking if the qp is kernel qp or not. Add a check to avoid user qp addition to the flush list. Fixes: 942c9b6 ("RDMA/bnxt_re: Avoid Hard lockup during error CQE processing") Fixes: c50866e ("bnxt_re: fix the regression due to changes in alloc_pbl") Link: https://lore.kernel.org/r/1596689148-4023-1-git-send-email-selvin.xavier@broadcom.com Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 32d8e2b commit f0e3b33

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

  • drivers/infiniband/hw/bnxt_re

drivers/infiniband/hw/bnxt_re/main.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -753,7 +753,8 @@ static int bnxt_re_handle_qp_async_event(struct creq_qp_event *qp_event,
753753
struct ib_event event;
754754
unsigned int flags;
755755

756-
if (qp->qplib_qp.state == CMDQ_MODIFY_QP_NEW_STATE_ERR) {
756+
if (qp->qplib_qp.state == CMDQ_MODIFY_QP_NEW_STATE_ERR &&
757+
rdma_is_kernel_res(&qp->ib_qp.res)) {
757758
flags = bnxt_re_lock_cqs(qp);
758759
bnxt_qplib_add_flush_qp(&qp->qplib_qp);
759760
bnxt_re_unlock_cqs(qp, flags);

0 commit comments

Comments
 (0)