Blob Blame History Raw
From: Selvin Xavier <selvin.xavier@broadcom.com>
Date: Mon, 8 Oct 2018 03:27:52 -0700
Subject: RDMA/bnxt_re: Add missing spin lock initialization
Patch-mainline: v4.20-rc1
Git-commit: 5a23e0b1dd51fe0efae666b03fdb15e1301f437a
References: bsc#1104742 FATE#325917

Add the missing initalization of the cq_lock and qplib.flush_lock.

Fixes: 942c9b6ca8de ("RDMA/bnxt_re: Avoid Hard lockup during error CQE processing")
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c |    1 +
 drivers/infiniband/hw/bnxt_re/qplib_fp.c |    1 +
 2 files changed, 2 insertions(+)

--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -2663,6 +2663,7 @@ struct ib_cq *bnxt_re_create_cq(struct i
 	nq->budget++;
 
 	atomic_inc(&rdev->cq_count);
+	spin_lock_init(&cq->cq_lock);
 
 	if (context) {
 		struct bnxt_re_cq_resp resp;
--- a/drivers/infiniband/hw/bnxt_re/qplib_fp.c
+++ b/drivers/infiniband/hw/bnxt_re/qplib_fp.c
@@ -1966,6 +1966,7 @@ int bnxt_qplib_create_cq(struct bnxt_qpl
 	INIT_LIST_HEAD(&cq->sqf_head);
 	INIT_LIST_HEAD(&cq->rqf_head);
 	spin_lock_init(&cq->compl_lock);
+	spin_lock_init(&cq->flush_lock);
 
 	bnxt_qplib_arm_cq_enable(cq);
 	return 0;