Skip to content

Commit

Permalink
IB/uverbs: Use idr_read_cq() where appropriate
Browse files Browse the repository at this point in the history
There were two functions that open-coded idr_read_cq() in terms of
idr_read_uobj() rather than using the helper.

Signed-off-by: Roland Dreier <[email protected]>
  • Loading branch information
Roland Dreier committed Sep 22, 2006
1 parent 9217b27 commit ab10867
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions drivers/infiniband/core/uverbs_cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -894,7 +894,6 @@ ssize_t ib_uverbs_poll_cq(struct ib_uverbs_file *file,
{
struct ib_uverbs_poll_cq cmd;
struct ib_uverbs_poll_cq_resp *resp;
struct ib_uobject *uobj;
struct ib_cq *cq;
struct ib_wc *wc;
int ret = 0;
Expand All @@ -915,16 +914,15 @@ ssize_t ib_uverbs_poll_cq(struct ib_uverbs_file *file,
goto out_wc;
}

uobj = idr_read_uobj(&ib_uverbs_cq_idr, cmd.cq_handle, file->ucontext);
if (!uobj) {
cq = idr_read_cq(cmd.cq_handle, file->ucontext);
if (!cq) {
ret = -EINVAL;
goto out;
}
cq = uobj->object;

resp->count = ib_poll_cq(cq, cmd.ne, wc);

put_uobj_read(uobj);
put_cq_read(cq);

for (i = 0; i < resp->count; i++) {
resp->wc[i].wr_id = wc[i].wr_id;
Expand Down Expand Up @@ -959,21 +957,19 @@ ssize_t ib_uverbs_req_notify_cq(struct ib_uverbs_file *file,
int out_len)
{
struct ib_uverbs_req_notify_cq cmd;
struct ib_uobject *uobj;
struct ib_cq *cq;

if (copy_from_user(&cmd, buf, sizeof cmd))
return -EFAULT;

uobj = idr_read_uobj(&ib_uverbs_cq_idr, cmd.cq_handle, file->ucontext);
if (!uobj)
cq = idr_read_cq(cmd.cq_handle, file->ucontext);
if (!cq)
return -EINVAL;
cq = uobj->object;

ib_req_notify_cq(cq, cmd.solicited_only ?
IB_CQ_SOLICITED : IB_CQ_NEXT_COMP);

put_uobj_read(uobj);
put_cq_read(cq);

return in_len;
}
Expand Down

0 comments on commit ab10867

Please sign in to comment.