Commit be56b07b authored by Leon Romanovsky's avatar Leon Romanovsky Committed by Jason Gunthorpe

RDMA/nes: Remove useless usecnt variable and redundant memset

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: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent e50838c2
...@@ -536,7 +536,7 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev, ...@@ -536,7 +536,7 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
struct nes_device *nesdev = nesvnic->nesdev; struct nes_device *nesdev = nesvnic->nesdev;
struct nes_adapter *nesadapter = nesdev->nesadapter; struct nes_adapter *nesadapter = nesdev->nesadapter;
struct nes_alloc_ucontext_req req; 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_ucontext *nes_ucontext;
struct nes_ib_device *nesibdev = nesvnic->nesibdev; struct nes_ib_device *nesibdev = nesvnic->nesibdev;
...@@ -553,8 +553,6 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev, ...@@ -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_qps = nesibdev->max_qp;
uresp.max_pds = nesibdev->max_pd; uresp.max_pds = nesibdev->max_pd;
uresp.wq_size = nesdev->nesadapter->max_qp_wr * 2; uresp.wq_size = nesdev->nesadapter->max_qp_wr * 2;
...@@ -579,7 +577,6 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev, ...@@ -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->cq_reg_mem_list);
INIT_LIST_HEAD(&nes_ucontext->qp_reg_mem_list); INIT_LIST_HEAD(&nes_ucontext->qp_reg_mem_list);
atomic_set(&nes_ucontext->usecnt, 1);
return &nes_ucontext->ibucontext; return &nes_ucontext->ibucontext;
} }
...@@ -589,12 +586,8 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev, ...@@ -589,12 +586,8 @@ static struct ib_ucontext *nes_alloc_ucontext(struct ib_device *ibdev,
*/ */
static int nes_dealloc_ucontext(struct ib_ucontext *context) 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); struct nes_ucontext *nes_ucontext = to_nesucontext(context);
if (!atomic_dec_and_test(&nes_ucontext->usecnt))
return 0;
kfree(nes_ucontext); kfree(nes_ucontext);
return 0; return 0;
} }
......
...@@ -59,7 +59,6 @@ struct nes_ucontext { ...@@ -59,7 +59,6 @@ struct nes_ucontext {
struct list_head cq_reg_mem_list; struct list_head cq_reg_mem_list;
struct list_head qp_reg_mem_list; struct list_head qp_reg_mem_list;
u32 mcrqf; u32 mcrqf;
atomic_t usecnt;
}; };
struct nes_pd { struct nes_pd {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment