From: Guoqing Jiang <guoqing.jiang@linux.dev>
To: bmt@zurich.ibm.com, jgg@ziepe.ca, leon@kernel.org
Cc: linux-rdma@vger.kernel.org
Subject: [PATCH V5 11/17] RDMA/siw: Introduce siw_free_cm_id
Date: Mon, 13 Nov 2023 19:57:20 +0800 [thread overview]
Message-ID: <20231113115726.12762-12-guoqing.jiang@linux.dev> (raw)
In-Reply-To: <20231113115726.12762-1-guoqing.jiang@linux.dev>
Factor out a helper to simplify code.
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202310091656.JlrmcNXB-lkp@intel.com/
Acked-by: Bernard Metzler <bmt@zurich.ibm.com>
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/infiniband/sw/siw/siw_cm.c | 30 ++++++++++++++----------------
1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/drivers/infiniband/sw/siw/siw_cm.c b/drivers/infiniband/sw/siw/siw_cm.c
index d72c9fab01d9..36fd459b136c 100644
--- a/drivers/infiniband/sw/siw/siw_cm.c
+++ b/drivers/infiniband/sw/siw/siw_cm.c
@@ -364,6 +364,15 @@ static int siw_cm_upcall(struct siw_cep *cep, enum iw_cm_event_type reason,
return id->event_handler(id, &event);
}
+static void siw_free_cm_id(struct siw_cep *cep)
+{
+ if (!cep->cm_id)
+ return;
+
+ cep->cm_id->rem_ref(cep->cm_id);
+ cep->cm_id = NULL;
+}
+
/*
* siw_qp_cm_drop()
*
@@ -415,8 +424,7 @@ void siw_qp_cm_drop(struct siw_qp *qp, int schedule)
default:
break;
}
- cep->cm_id->rem_ref(cep->cm_id);
- cep->cm_id = NULL;
+ siw_free_cm_id(cep);
siw_cep_put(cep);
}
cep->state = SIW_EPSTATE_CLOSED;
@@ -1180,8 +1188,7 @@ static void siw_cm_work_handler(struct work_struct *w)
cep->sock = NULL;
}
if (cep->cm_id) {
- cep->cm_id->rem_ref(cep->cm_id);
- cep->cm_id = NULL;
+ siw_free_cm_id(cep);
siw_cep_put(cep);
}
}
@@ -1710,10 +1717,7 @@ int siw_accept(struct iw_cm_id *id, struct iw_cm_conn_param *params)
cep->state = SIW_EPSTATE_CLOSED;
- if (cep->cm_id) {
- cep->cm_id->rem_ref(id);
- cep->cm_id = NULL;
- }
+ siw_free_cm_id(cep);
if (qp->cep) {
siw_cep_put(cep);
qp->cep = NULL;
@@ -1888,10 +1892,7 @@ int siw_create_listen(struct iw_cm_id *id, int backlog)
if (cep) {
siw_cep_set_inuse(cep);
- if (cep->cm_id) {
- cep->cm_id->rem_ref(cep->cm_id);
- cep->cm_id = NULL;
- }
+ siw_free_cm_id(cep);
cep->sock = NULL;
siw_socket_disassoc(s);
cep->state = SIW_EPSTATE_CLOSED;
@@ -1920,10 +1921,7 @@ static void siw_drop_listeners(struct iw_cm_id *id)
siw_cep_set_inuse(cep);
- if (cep->cm_id) {
- cep->cm_id->rem_ref(cep->cm_id);
- cep->cm_id = NULL;
- }
+ siw_free_cm_id(cep);
if (cep->sock) {
siw_socket_disassoc(cep->sock);
sock_release(cep->sock);
--
2.35.3
next prev parent reply other threads:[~2023-11-13 11:57 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-13 11:57 [PATCH V5 00/17] Cleanup for siw Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 01/17] RDMA/siw: Introduce siw_get_page Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 02/17] RDMA/siw: Introduce siw_update_skb_rcvd Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 03/17] RDMA/siw: Use iov.iov_len in kernel_sendmsg Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 04/17] RDMA/siw: Remove goto lable in siw_mmap Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 05/17] RDMA/siw: Remove rcu from siw_qp Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 06/17] RDMA/siw: No need to check term_info.valid before call siw_send_terminate Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 07/17] RDMA/siw: Factor out siw_rx_data helper Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 08/17] RDMA/siw: Introduce SIW_STAG_MAX_INDEX Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 09/17] RDMA/siw: Add one parameter to siw_destroy_cpulist Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 10/17] RDMA/siw: Introduce siw_cep_set_free_and_put Guoqing Jiang
2023-11-13 11:57 ` Guoqing Jiang [this message]
2023-11-13 11:57 ` [PATCH V5 12/17] RDMA/siw: Cleanup siw_accept Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 13/17] RDMA/siw: Remove siw_sk_save_upcalls Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 14/17] RDMA/siw: Fix typo Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 15/17] RDMA/siw: Only check attrs->cap.max_send_wr in siw_create_qp Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 16/17] RDMA/siw: Introduce siw_destroy_cep_sock Guoqing Jiang
2023-11-13 11:57 ` [PATCH V5 17/17] RDMA/siw: Update comments for siw_qp_sq_process Guoqing Jiang
2023-11-15 13:58 ` [PATCH V5 00/17] Cleanup for siw Leon Romanovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231113115726.12762-12-guoqing.jiang@linux.dev \
--to=guoqing.jiang@linux.dev \
--cc=bmt@zurich.ibm.com \
--cc=jgg@ziepe.ca \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox