-----"Stefan Metzmacher" <metze@xxxxxxxxx> wrote: ----- >To: "Bernard Metzler" <bmt@xxxxxxxxxxxxxx> >From: "Stefan Metzmacher" <metze@xxxxxxxxx> >Date: 05/07/2021 01:38AM >Cc: linux-rdma@xxxxxxxxxxxxxxx, "Stefan Metzmacher" <metze@xxxxxxxxx> >Subject: [EXTERNAL] [PATCH 16/31] rdma/siw: use error and out logic >at the end of siw_connect() > >This will make the following changes easier. > >Fixes: 6c52fdc244b5 ("rdma/siw: connection management") >Signed-off-by: Stefan Metzmacher <metze@xxxxxxxxx> >Cc: Bernard Metzler <bmt@xxxxxxxxxxxxxx> >Cc: linux-rdma@xxxxxxxxxxxxxxx >--- > drivers/infiniband/sw/siw/siw_cm.c | 19 ++++++++++++------- > 1 file changed, 12 insertions(+), 7 deletions(-) > >diff --git a/drivers/infiniband/sw/siw/siw_cm.c >b/drivers/infiniband/sw/siw/siw_cm.c >index 41d3436985a6..ec6d5c26fe22 100644 >--- a/drivers/infiniband/sw/siw/siw_cm.c >+++ b/drivers/infiniband/sw/siw/siw_cm.c >@@ -1539,14 +1539,19 @@ int siw_connect(struct iw_cm_id *id, struct >iw_cm_conn_param *params) > cep->mpa.pdata = NULL; > } > >- if (rv >= 0) { >- rv = siw_cm_queue_work(cep, SIW_CM_WORK_MPATIMEOUT); >- if (!rv) { >- siw_dbg_cep(cep, "[QP %u]: exit\n", qp_id(qp)); >- siw_cep_set_free(cep); >- return 0; >- } >+ if (rv < 0) { >+ goto error; >+ } >+ >+ rv = siw_cm_queue_work(cep, SIW_CM_WORK_MPATIMEOUT); >+ if (rv != 0) { >+ goto error; > } >+ >+ siw_dbg_cep(cep, "[QP %u]: exit\n", qp_id(qp)); >+ siw_cep_set_free(cep); >+ return 0; >+ > error: > siw_dbg(id->device, "failed: %d\n", rv); > >-- >2.25.1 > > Okay Reviewed-by: Bernard Metzler <bmt@xxxxxxxxxxxxxx>