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 V2 11/20] RDMA/siw: Introduce siw_cep_set_free_and_put
Date: Fri, 13 Oct 2023 10:00:44 +0800 [thread overview]
Message-ID: <20231013020053.2120-12-guoqing.jiang@linux.dev> (raw)
In-Reply-To: <20231013020053.2120-1-guoqing.jiang@linux.dev>
Add the helper which can be used in some places.
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
---
drivers/infiniband/sw/siw/siw_cm.c | 31 ++++++++++++++----------------
1 file changed, 14 insertions(+), 17 deletions(-)
diff --git a/drivers/infiniband/sw/siw/siw_cm.c b/drivers/infiniband/sw/siw/siw_cm.c
index c8a9118677d7..2f338bb3a24c 100644
--- a/drivers/infiniband/sw/siw/siw_cm.c
+++ b/drivers/infiniband/sw/siw/siw_cm.c
@@ -444,6 +444,12 @@ void siw_cep_put(struct siw_cep *cep)
kref_put(&cep->ref, __siw_cep_dealloc);
}
+static void siw_cep_set_free_and_put(struct siw_cep *cep)
+{
+ siw_cep_set_free(cep);
+ siw_cep_put(cep);
+}
+
void siw_cep_get(struct siw_cep *cep)
{
kref_get(&cep->ref);
@@ -1506,9 +1512,7 @@ int siw_connect(struct iw_cm_id *id, struct iw_cm_conn_param *params)
cep->state = SIW_EPSTATE_CLOSED;
- siw_cep_set_free(cep);
-
- siw_cep_put(cep);
+ siw_cep_set_free_and_put(cep);
} else if (s) {
sock_release(s);
@@ -1556,16 +1560,14 @@ int siw_accept(struct iw_cm_id *id, struct iw_cm_conn_param *params)
if (cep->state != SIW_EPSTATE_RECVD_MPAREQ) {
siw_dbg_cep(cep, "out of state\n");
- siw_cep_set_free(cep);
- siw_cep_put(cep);
+ siw_cep_set_free_and_put(cep);
return -ECONNRESET;
}
qp = siw_qp_id2obj(sdev, params->qpn);
if (!qp) {
WARN(1, "[QP %d] does not exist\n", params->qpn);
- siw_cep_set_free(cep);
- siw_cep_put(cep);
+ siw_cep_set_free_and_put(cep);
return -EINVAL;
}
@@ -1711,8 +1713,7 @@ int siw_accept(struct iw_cm_id *id, struct iw_cm_conn_param *params)
cep->qp = NULL;
siw_qp_put(qp);
- siw_cep_set_free(cep);
- siw_cep_put(cep);
+ siw_cep_set_free_and_put(cep);
return rv;
}
@@ -1735,8 +1736,7 @@ int siw_reject(struct iw_cm_id *id, const void *pdata, u8 pd_len)
if (cep->state != SIW_EPSTATE_RECVD_MPAREQ) {
siw_dbg_cep(cep, "out of state\n");
- siw_cep_set_free(cep);
- siw_cep_put(cep); /* put last reference */
+ siw_cep_set_free_and_put(cep); /* put last reference */
return -ECONNRESET;
}
@@ -1753,8 +1753,7 @@ int siw_reject(struct iw_cm_id *id, const void *pdata, u8 pd_len)
cep->state = SIW_EPSTATE_CLOSED;
- siw_cep_set_free(cep);
- siw_cep_put(cep);
+ siw_cep_set_free_and_put(cep);
return 0;
}
@@ -1889,8 +1888,7 @@ int siw_create_listen(struct iw_cm_id *id, int backlog)
siw_socket_disassoc(s);
cep->state = SIW_EPSTATE_CLOSED;
- siw_cep_set_free(cep);
- siw_cep_put(cep);
+ siw_cep_set_free_and_put(cep);
}
sock_release(s);
@@ -1924,8 +1922,7 @@ static void siw_drop_listeners(struct iw_cm_id *id)
cep->sock = NULL;
}
cep->state = SIW_EPSTATE_CLOSED;
- siw_cep_set_free(cep);
- siw_cep_put(cep);
+ siw_cep_set_free_and_put(cep);
}
}
--
2.35.3
next prev parent reply other threads:[~2023-10-13 2:01 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-13 2:00 [PATCH V2 00/20] Cleanup for siw Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 01/20] RDMA/siw: Introduce siw_get_page Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 02/20] RDMA/siw: Introduce siw_srx_update_skb Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 03/20] RDMA/siw: Use iov.iov_len in kernel_sendmsg Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 04/20] RDMA/siw: Remove goto lable in siw_mmap Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 05/20] RDMA/siw: Remove rcu from siw_qp Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 06/20] RDMA/siw: No need to check term_info.valid before call siw_send_terminate Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 07/20] RDMA/siw: Also goto out_sem_up if pin_user_pages returns 0 Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 08/20] RDMA/siw: Factor out siw_generic_rx helper Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 09/20] RDMA/siw: Introduce SIW_STAG_MAX_INDEX Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 10/20] RDMA/siw: Add one parameter to siw_destroy_cpulist Guoqing Jiang
2023-10-13 2:00 ` Guoqing Jiang [this message]
2023-10-13 2:00 ` [PATCH V2 12/20] RDMA/siw: Introduce siw_free_cm_id Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 13/20] RDMA/siw: Simplify siw_qp_id2obj Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 14/20] RDMA/siw: Simplify siw_mem_id2obj Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 15/20] RDMA/siw: Cleanup siw_accept Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 16/20] RDMA/siw: Remove siw_sk_assign_cm_upcalls Guoqing Jiang
2023-10-13 2:00 ` [PATCH V2 17/20] RDMA/siw: Fix typo Guoqing Jiang
2023-10-25 13:22 ` Bernard Metzler
2023-10-13 2:00 ` [PATCH V2 18/20] RDMA/siw: Only check attrs->cap.max_send_wr in siw_create_qp Guoqing Jiang
2023-10-25 13:27 ` Bernard Metzler
2023-10-26 6:55 ` Guoqing Jiang
2023-10-26 14:00 ` Bernard Metzler
2023-10-13 2:00 ` [PATCH V2 19/20] RDMA/siw: Introduce siw_destroy_cep_sock Guoqing Jiang
2023-10-25 13:28 ` Bernard Metzler
2023-10-13 2:00 ` [PATCH V2 20/20] RDMA/siw: Update comments for siw_qp_sq_process Guoqing Jiang
2023-10-25 13:29 ` Bernard Metzler
2023-10-24 14:09 ` [PATCH V2 00/20] Cleanup for siw Leon Romanovsky
2023-10-24 17:22 ` Bernard Metzler
2023-10-24 18:19 ` Leon Romanovsky
2023-10-25 13:37 ` Bernard Metzler
2023-10-26 7:02 ` Guoqing Jiang
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=20231013020053.2120-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.