mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 11:51:27 +00:00
RDMA/uverbs: Fix create WQ to use the given user handle
Fix create WQ to use the given user handle, in addition dropped some duplicated code from this flow. Fixes:fd3c7904db
("IB/core: Change idr objects to use the new schema") Fixes:f213c05272
("IB/uverbs: Add WQ support") Link: https://lore.kernel.org/r/20200506082444.14502-9-leon@kernel.org Signed-off-by: Yishai Hadas <yishaih@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
b19a530b00
commit
dbd6725286
@ -2958,6 +2958,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.event_handler = ib_uverbs_wq_event_handler;
|
||||||
wq_init_attr.create_flags = cmd.create_flags;
|
wq_init_attr.create_flags = cmd.create_flags;
|
||||||
INIT_LIST_HEAD(&obj->uevent.event_list);
|
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);
|
wq = pd->device->ops.create_wq(pd, &wq_init_attr, &attrs->driver_udata);
|
||||||
if (IS_ERR(wq)) {
|
if (IS_ERR(wq)) {
|
||||||
@ -2974,8 +2975,6 @@ static int ib_uverbs_ex_create_wq(struct uverbs_attr_bundle *attrs)
|
|||||||
atomic_set(&wq->usecnt, 0);
|
atomic_set(&wq->usecnt, 0);
|
||||||
atomic_inc(&pd->usecnt);
|
atomic_inc(&pd->usecnt);
|
||||||
atomic_inc(&cq->usecnt);
|
atomic_inc(&cq->usecnt);
|
||||||
wq->uobject = obj;
|
|
||||||
obj->uevent.uobject.object = wq;
|
|
||||||
|
|
||||||
memset(&resp, 0, sizeof(resp));
|
memset(&resp, 0, sizeof(resp));
|
||||||
resp.wq_handle = obj->uevent.uobject.id;
|
resp.wq_handle = obj->uevent.uobject.id;
|
||||||
|
Loading…
Reference in New Issue
Block a user