RDMA/rxe: Simplify the error handling code in rxe_create_ah()
authorBart Van Assche <bart.vanassche@wdc.com>
Fri, 6 Jul 2018 16:45:32 +0000 (09:45 -0700)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 9 Jul 2018 18:55:28 +0000 (12:55 -0600)
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@wdc.com>
Reviewed-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/sw/rxe/rxe_verbs.c

index 9cfd440cebe1971131f6d597228386c69f7475d6..1188e163204d530da71056c4b452af955b868631 100644 (file)
@@ -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)