]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
RDMA/nes: Remove useless usecnt variable and redundant memset
authorLeon Romanovsky <leonro@mellanox.com>
Tue, 12 Feb 2019 18:39:14 +0000 (20:39 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Sat, 16 Feb 2019 04:39:15 +0000 (21:39 -0700)
The internal design of RDMA/core ensures that there dealloc ucontext will
be called only if alloc_ucontext succeeded, hence there is no need to
manage internal variable to mark validity of ucontext.

As part of this change, remove redundant memeset too.

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/nes/nes_verbs.c
drivers/infiniband/hw/nes/nes_verbs.h

index 38480b7708ebc8a23590cd261cc854e85ecf419e..b23956aa45b81c2fde324b9a191dbb467719a677 100644 (file)
@@ -536,7 +536,7 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
        struct nes_device *nesdev = nesvnic->nesdev;
        struct nes_adapter *nesadapter = nesdev->nesadapter;
        struct nes_alloc_ucontext_req req;
-       struct nes_alloc_ucontext_resp uresp;
+       struct nes_alloc_ucontext_resp uresp = {};
        struct nes_ucontext *nes_ucontext;
        struct nes_ib_device *nesibdev = nesvnic->nesibdev;
 
@@ -553,8 +553,6 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
        }
 
 
-       memset(&uresp, 0, sizeof uresp);
-
        uresp.max_qps = nesibdev->max_qp;
        uresp.max_pds = nesibdev->max_pd;
        uresp.wq_size = nesdev->nesadapter->max_qp_wr * 2;
@@ -579,7 +577,6 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
 
        INIT_LIST_HEAD(&nes_ucontext->cq_reg_mem_list);
        INIT_LIST_HEAD(&nes_ucontext->qp_reg_mem_list);
-       atomic_set(&nes_ucontext->usecnt, 1);
        return &nes_ucontext->ibucontext;
 }
 
@@ -589,12 +586,8 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
  */
 static int nes_dealloc_ucontext(struct ib_ucontext *context)
 {
-       /* struct nes_vnic *nesvnic = to_nesvnic(context->device); */
-       /* struct nes_device *nesdev = nesvnic->nesdev; */
        struct nes_ucontext *nes_ucontext = to_nesucontext(context);
 
-       if (!atomic_dec_and_test(&nes_ucontext->usecnt))
-         return 0;
        kfree(nes_ucontext);
        return 0;
 }
index e02a5662dc209738a640b8793f0f9cafd9d180ce..114a9b59fefd58d128d6c32f69a459263716f94b 100644 (file)
@@ -59,7 +59,6 @@ struct nes_ucontext {
        struct list_head   cq_reg_mem_list;
        struct list_head   qp_reg_mem_list;
        u32                mcrqf;
-       atomic_t           usecnt;
 };
 
 struct nes_pd {