On 7/7/22 22:54, yangx.jy@xxxxxxxxxxx wrote: > On 2022/7/8 9:57, Yang, Xiao/杨 晓 wrote: >> Hi All, >> >> Is there anyone who can receive my new patches from Linux RDMA mail list? >> [PATCH] RDMA/rxe: Remove unused qp parameter >> [PATCH v5 0/2] RDMA/rxe: Add RDMA Atomic Write operation >> >> I have sent them to Linux RDMA mail list but they cannot be shown on: >> https://lore.kernel.org/linux-rdma/ > > Sorry, my smtp server doesn't work. I will resend them shortly. > > Best Regards, > Xiao Yang >> >> Best Regards, >> Xiao Yang >> >> On 2022/7/8 9:39, Xiao Yang wrote: >>> The qp parameter in free_rd_atomic_resource() has become >>> unused so remove it directly. >>> >>> Fixes: 15ae1375ea91 ("RDMA/rxe: Fix qp reference counting for atomic >>> ops") >>> Signed-off-by: Xiao Yang <yangx.jy@xxxxxxxxxxx> >>> --- >>> drivers/infiniband/sw/rxe/rxe_loc.h | 2 +- >>> drivers/infiniband/sw/rxe/rxe_qp.c | 6 +++--- >>> drivers/infiniband/sw/rxe/rxe_resp.c | 2 +- >>> 3 files changed, 5 insertions(+), 5 deletions(-) >>> >>> diff --git a/drivers/infiniband/sw/rxe/rxe_loc.h >>> b/drivers/infiniband/sw/rxe/rxe_loc.h >>> index 0e022ae1b8a5..336164843db4 100644 >>> --- a/drivers/infiniband/sw/rxe/rxe_loc.h >>> +++ b/drivers/infiniband/sw/rxe/rxe_loc.h >>> @@ -145,7 +145,7 @@ static inline int rcv_wqe_size(int max_sge) >>> max_sge * sizeof(struct ib_sge); >>> } >>> -void free_rd_atomic_resource(struct rxe_qp *qp, struct resp_res *res); >>> +void free_rd_atomic_resource(struct resp_res *res); >>> static inline void rxe_advance_resp_resource(struct rxe_qp *qp) >>> { >>> diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c >>> b/drivers/infiniband/sw/rxe/rxe_qp.c >>> index 8355a5b1cb60..9ecb98150e0e 100644 >>> --- a/drivers/infiniband/sw/rxe/rxe_qp.c >>> +++ b/drivers/infiniband/sw/rxe/rxe_qp.c >>> @@ -120,14 +120,14 @@ static void free_rd_atomic_resources(struct >>> rxe_qp *qp) >>> for (i = 0; i < qp->attr.max_dest_rd_atomic; i++) { >>> struct resp_res *res = &qp->resp.resources[i]; >>> - free_rd_atomic_resource(qp, res); >>> + free_rd_atomic_resource(res); >>> } >>> kfree(qp->resp.resources); >>> qp->resp.resources = NULL; >>> } >>> } >>> -void free_rd_atomic_resource(struct rxe_qp *qp, struct resp_res *res) >>> +void free_rd_atomic_resource(struct resp_res *res) >>> { >>> res->type = 0; >>> } >>> @@ -140,7 +140,7 @@ static void cleanup_rd_atomic_resources(struct >>> rxe_qp *qp) >>> if (qp->resp.resources) { >>> for (i = 0; i < qp->attr.max_dest_rd_atomic; i++) { >>> res = &qp->resp.resources[i]; >>> - free_rd_atomic_resource(qp, res); >>> + free_rd_atomic_resource(res); >>> } >>> } >>> } >>> diff --git a/drivers/infiniband/sw/rxe/rxe_resp.c >>> b/drivers/infiniband/sw/rxe/rxe_resp.c >>> index 265e46fe050f..28033849d404 100644 >>> --- a/drivers/infiniband/sw/rxe/rxe_resp.c >>> +++ b/drivers/infiniband/sw/rxe/rxe_resp.c >>> @@ -562,7 +562,7 @@ static struct resp_res *rxe_prepare_res(struct >>> rxe_qp *qp, >>> res = &qp->resp.resources[qp->resp.res_head]; >>> rxe_advance_resp_resource(qp); >>> - free_rd_atomic_resource(qp, res); >>> + free_rd_atomic_resource(res); >>> res->type = type; >>> res->replay = 0; This is correct. Reviewed-by: Bob Pearson <rpearsonhpe@xxxxxxxxx>