Hi Bart, > -----Original Message----- > From: Bart Van Assche [mailto:bart.vanassche@xxxxxxx] > Sent: Friday, July 06, 2018 11:46 AM > To: Jason Gunthorpe <jgg@xxxxxxxx> > Cc: Doug Ledford <dledford@xxxxxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx; Bart > Van Assche <bart.vanassche@xxxxxxx>; Parav Pandit <parav@xxxxxxxxxxxx>; > Leon Romanovsky <leonro@xxxxxxxxxxxx> > Subject: [PATCH v2] RDMA/rxe: Simplify the error handling code in > rxe_create_ah() > > This patch not only simplifies the error handling code in rxe_create_ah() but also > removes the dead code that was left behind by commit 47ec38666210 > ("RDMA: Convert drivers to use sgid_attr instead of sgid_index"). > > Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxx> > Cc: Parav Pandit <parav@xxxxxxxxxxxx> > Cc: Leon Romanovsky <leonro@xxxxxxxxxxxx> > --- > > Changes compared to v1: implemented Parav's suggestion to change the "goto > err1" > statements into "return ERR_PTR()". > > drivers/infiniband/sw/rxe/rxe_verbs.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c > b/drivers/infiniband/sw/rxe/rxe_verbs.c > index 1272903d0fe3..0ea394554c8e 100644 > --- a/drivers/infiniband/sw/rxe/rxe_verbs.c > +++ b/drivers/infiniband/sw/rxe/rxe_verbs.c > @@ -241,24 +241,17 @@ static struct ib_ah *rxe_create_ah(struct ib_pd *ibpd, > > err = rxe_av_chk_attr(rxe, attr); > if (err) > - goto err1; > + return ERR_PTR(err); > > ah = rxe_alloc(&rxe->ah_pool); > - if (!ah) { > - err = -ENOMEM; > - goto err1; > - } > + if (!ah) > + return ERR_PTR(-ENOMEM); > > rxe_add_ref(pd); > ah->pd = pd; > > rxe_init_av(rxe, attr, &ah->av); > return &ah->ibah; > - > - rxe_drop_ref(pd); > - rxe_drop_ref(ah); > -err1: > - return ERR_PTR(err); > } > > static int rxe_modify_ah(struct ib_ah *ibah, struct rdma_ah_attr *attr) > -- RB: parav@xxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html