driver inclusion category: cleanup bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I83BP0
----------------------------------------------------------
Clear the doorbell when getting it to avoid clearing it in each function that uses hns_roce_alloc_db()
Signed-off-by: Chengchang Tang tangchengchang@huawei.com --- providers/hns/hns_roce_u_db.c | 2 ++ providers/hns/hns_roce_u_verbs.c | 8 -------- 2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/providers/hns/hns_roce_u_db.c b/providers/hns/hns_roce_u_db.c index f5acac2..73a71de 100644 --- a/providers/hns/hns_roce_u_db.c +++ b/providers/hns/hns_roce_u_db.c @@ -115,6 +115,8 @@ found:
out: pthread_mutex_unlock((pthread_mutex_t *)&ctx->db_list_mutex); + if (db) + *((unsigned int *)db) = 0;
return db; } diff --git a/providers/hns/hns_roce_u_verbs.c b/providers/hns/hns_roce_u_verbs.c index e7a7388..7b58dd0 100644 --- a/providers/hns/hns_roce_u_verbs.c +++ b/providers/hns/hns_roce_u_verbs.c @@ -596,8 +596,6 @@ static struct ibv_cq_ex *create_cq(struct ibv_context *context, goto err_db; }
- *cq->db = 0; - ret = hns_roce_init_cq_swc(cq, attr); if (ret) goto err_swc; @@ -938,8 +936,6 @@ static struct ibv_srq *create_srq(struct ibv_context *context, if (!srq->db) goto err_srq_buf;
- *srq->db = 0; - ret = exec_srq_create_cmd(context, srq, init_attr); if (ret) goto err_srq_db; @@ -1591,8 +1587,6 @@ static int qp_alloc_db(struct ibv_qp_init_attr_ex *attr, struct hns_roce_qp *qp, qp->sdb = hns_roce_alloc_db(ctx, HNS_ROCE_QP_TYPE_DB); if (!qp->sdb) return -ENOMEM; - - *qp->sdb = 0; }
if (attr->cap.max_recv_sge) { @@ -1604,8 +1598,6 @@ static int qp_alloc_db(struct ibv_qp_init_attr_ex *attr, struct hns_roce_qp *qp,
return -ENOMEM; } - - *qp->rdb = 0; }
return 0;