git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cxgb4: Fix error codes in c4iw_create_cq()
[pandora-kernel.git]
/
drivers
/
infiniband
/
hw
/
cxgb4
/
cq.c
diff --git
a/drivers/infiniband/hw/cxgb4/cq.c
b/drivers/infiniband/hw/cxgb4/cq.c
index
f35a935
..
3e5f576
100644
(file)
--- a/
drivers/infiniband/hw/cxgb4/cq.c
+++ b/
drivers/infiniband/hw/cxgb4/cq.c
@@
-311,7
+311,7
@@
void c4iw_count_rcqes(struct t4_cq *cq, struct t4_wq *wq, int *count)
while (ptr != cq->sw_pidx) {
cqe = &cq->sw_queue[ptr];
if (RQ_TYPE(cqe) && (CQE_OPCODE(cqe) != FW_RI_READ_RESP) &&
while (ptr != cq->sw_pidx) {
cqe = &cq->sw_queue[ptr];
if (RQ_TYPE(cqe) && (CQE_OPCODE(cqe) != FW_RI_READ_RESP) &&
- (CQE_QPID(cqe) == wq->
r
q.qid) && cqe_completes_wr(cqe, wq))
+ (CQE_QPID(cqe) == wq->
s
q.qid) && cqe_completes_wr(cqe, wq))
(*count)++;
if (++ptr == cq->size)
ptr = 0;
(*count)++;
if (++ptr == cq->size)
ptr = 0;
@@
-826,6
+826,7
@@
struct ib_cq *c4iw_create_cq(struct ib_device *ibdev, int entries,
goto err2;
if (ucontext) {
goto err2;
if (ucontext) {
+ ret = -ENOMEM;
mm = kmalloc(sizeof *mm, GFP_KERNEL);
if (!mm)
goto err3;
mm = kmalloc(sizeof *mm, GFP_KERNEL);
if (!mm)
goto err3;
@@
-843,7
+844,8
@@
struct ib_cq *c4iw_create_cq(struct ib_device *ibdev, int entries,
uresp.gts_key = ucontext->key;
ucontext->key += PAGE_SIZE;
spin_unlock(&ucontext->mmap_lock);
uresp.gts_key = ucontext->key;
ucontext->key += PAGE_SIZE;
spin_unlock(&ucontext->mmap_lock);
- ret = ib_copy_to_udata(udata, &uresp, sizeof uresp);
+ ret = ib_copy_to_udata(udata, &uresp,
+ sizeof(uresp) - sizeof(uresp.reserved));
if (ret)
goto err5;
if (ret)
goto err5;