Skip to content

Commit a812f2d

Browse files
selvintxavierjgunthorpe
authored andcommitted
RDMA/bnxt_re: Do not add user qps to flushlist
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/[email protected] Signed-off-by: Selvin Xavier <[email protected]> Signed-off-by: Jason Gunthorpe <[email protected]>
1 parent 4469add commit a812f2d

File tree

1 file changed

+2
-1
lines changed
  • drivers/infiniband/hw/bnxt_re

1 file changed

+2
-1
lines changed

drivers/infiniband/hw/bnxt_re/main.c

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

824-
if (qp->qplib_qp.state == CMDQ_MODIFY_QP_NEW_STATE_ERR) {
824+
if (qp->qplib_qp.state == CMDQ_MODIFY_QP_NEW_STATE_ERR &&
825+
rdma_is_kernel_res(&qp->ib_qp.res)) {
825826
flags = bnxt_re_lock_cqs(qp);
826827
bnxt_qplib_add_flush_qp(&qp->qplib_qp);
827828
bnxt_re_unlock_cqs(qp, flags);

0 commit comments

Comments
 (0)