From: Yishai Hadas <yish...@mellanox.com>

[ Upstream commit dbd67252869ba58d086edfa14113e10f8059b97e ]

Fix create WQ to use the given user handle, in addition dropped some
duplicated code from this flow.

Fixes: fd3c7904db6e ("IB/core: Change idr objects to use the new schema")
Fixes: f213c0527210 ("IB/uverbs: Add WQ support")
Link: https://lore.kernel.org/r/20200506082444.14502-9-l...@kernel.org
Signed-off-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Leon Romanovsky <leo...@mellanox.com>
Signed-off-by: Jason Gunthorpe <j...@mellanox.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/infiniband/core/uverbs_cmd.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/infiniband/core/uverbs_cmd.c 
b/drivers/infiniband/core/uverbs_cmd.c
index 060b4ebbd2ba..d6e9cc94dd90 100644
--- a/drivers/infiniband/core/uverbs_cmd.c
+++ b/drivers/infiniband/core/uverbs_cmd.c
@@ -2959,6 +2959,7 @@ static int ib_uverbs_ex_create_wq(struct 
uverbs_attr_bundle *attrs)
        wq_init_attr.event_handler = ib_uverbs_wq_event_handler;
        wq_init_attr.create_flags = cmd.create_flags;
        INIT_LIST_HEAD(&obj->uevent.event_list);
+       obj->uevent.uobject.user_handle = cmd.user_handle;
 
        wq = pd->device->ops.create_wq(pd, &wq_init_attr, &attrs->driver_udata);
        if (IS_ERR(wq)) {
@@ -2976,8 +2977,6 @@ static int ib_uverbs_ex_create_wq(struct 
uverbs_attr_bundle *attrs)
        atomic_set(&wq->usecnt, 0);
        atomic_inc(&pd->usecnt);
        atomic_inc(&cq->usecnt);
-       wq->uobject = obj;
-       obj->uevent.uobject.object = wq;
 
        memset(&resp, 0, sizeof(resp));
        resp.wq_handle = obj->uevent.uobject.id;
-- 
2.25.1

Reply via email to