summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorAmrani, Ram <Ram.Amrani@cavium.com>2016-12-22 13:40:34 +0100
committerDoug Ledford <dledford@redhat.com>2016-12-22 17:36:12 +0100
commita121135973ca816821f4ff07aed523df82a91b8e (patch)
tree2c45f973e3144d6a693cc616bd7dffcc2fb089b0 /drivers/infiniband
parentqedr: configure the number of CQEs on CQ creation (diff)
downloadlinux-a121135973ca816821f4ff07aed523df82a91b8e.tar.xz
linux-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 'drivers/infiniband')
-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);
}