linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-rc] RDMA/bnxt_re: Do not add user qps to flushlist
@ 2020-08-06  4:45 Selvin Xavier
  2020-08-18 16:33 ` Jason Gunthorpe
  0 siblings, 1 reply; 2+ messages in thread
From: Selvin Xavier @ 2020-08-06  4:45 UTC (permalink / raw)
  To: jgg, dledford; +Cc: linux-rdma, Selvin Xavier

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: 942c9b6ca8de ("RDMA/bnxt_re: Avoid Hard lockup during error CQE processing")
Fixes: c50866e2853a ("bnxt_re: fix the regression due to changes in alloc_pbl")
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
---
 drivers/infiniband/hw/bnxt_re/main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c
index dad0df8..17ac8b7 100644
--- a/drivers/infiniband/hw/bnxt_re/main.c
+++ b/drivers/infiniband/hw/bnxt_re/main.c
@@ -821,7 +821,8 @@ static int bnxt_re_handle_qp_async_event(struct creq_qp_event *qp_event,
 	struct ib_event event;
 	unsigned int flags;
 
-	if (qp->qplib_qp.state == CMDQ_MODIFY_QP_NEW_STATE_ERR) {
+	if (qp->qplib_qp.state == CMDQ_MODIFY_QP_NEW_STATE_ERR &&
+	    rdma_is_kernel_res(&qp->ib_qp.res)) {
 		flags = bnxt_re_lock_cqs(qp);
 		bnxt_qplib_add_flush_qp(&qp->qplib_qp);
 		bnxt_re_unlock_cqs(qp, flags);
-- 
2.5.5


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH for-rc] RDMA/bnxt_re: Do not add user qps to flushlist
  2020-08-06  4:45 [PATCH for-rc] RDMA/bnxt_re: Do not add user qps to flushlist Selvin Xavier
@ 2020-08-18 16:33 ` Jason Gunthorpe
  0 siblings, 0 replies; 2+ messages in thread
From: Jason Gunthorpe @ 2020-08-18 16:33 UTC (permalink / raw)
  To: Selvin Xavier; +Cc: dledford, linux-rdma

On Wed, Aug 05, 2020 at 09:45:48PM -0700, Selvin Xavier wrote:
> 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: 942c9b6ca8de ("RDMA/bnxt_re: Avoid Hard lockup during error CQE processing")
> Fixes: c50866e2853a ("bnxt_re: fix the regression due to changes in alloc_pbl")
> Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
> ---
>  drivers/infiniband/hw/bnxt_re/main.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Applied to for-rc, thanks

Jason

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-08-18 16:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-06  4:45 [PATCH for-rc] RDMA/bnxt_re: Do not add user qps to flushlist Selvin Xavier
2020-08-18 16:33 ` Jason Gunthorpe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).