aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/qedr/verbs.c
diff options
context:
space:
mode:
authorAmrani, Ram <Ram.Amrani@cavium.com>2016-12-22 14:40:34 +0200
committerDoug Ledford <dledford@redhat.com>2016-12-22 11:36:12 -0500
commita121135973ca816821f4ff07aed523df82a91b8e (patch)
tree2c45f973e3144d6a693cc616bd7dffcc2fb089b0 /drivers/infiniband/hw/qedr/verbs.c
parentqedr: configure the number of CQEs on CQ creation (diff)
downloadlinux-dev-a121135973ca816821f4ff07aed523df82a91b8e.tar.xz
linux-dev-a121135973ca816821f4ff07aed523df82a91b8e.zip
qedr: return error if destroy CQ failed
Signed-off-by: Ram Amrani <Ram.Amrani@cavium.com> Reviewed-by: Michal Kalderon <Michal.Kalderon@cavium.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to '')
-rw-r--r--drivers/infiniband/hw/qedr/verbs.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
index 73df639755fa..cbccd7d3ae1e 100644
--- a/drivers/infiniband/hw/qedr/verbs.c
+++ b/drivers/infiniband/hw/qedr/verbs.c
@@ -985,8 +985,13 @@ int qedr_destroy_cq(struct ib_cq *ibcq)
/* GSIs CQs are handled by driver, so they don't exist in the FW */
if (cq->cq_type != QEDR_CQ_TYPE_GSI) {
+ int rc;
+
iparams.icid = cq->icid;
- dev->ops->rdma_destroy_cq(dev->rdma_ctx, &iparams, &oparams);
+ rc = dev->ops->rdma_destroy_cq(dev->rdma_ctx, &iparams,
+ &oparams);
+ if (rc)
+ return rc;
dev->ops->common->chain_free(dev->cdev, &cq->pbl);
}