mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-25 00:52:45 -04:00
RDMA: Clean destroy CQ in drivers do not return errors
Like all other destroy commands, .destroy_cq() call is not supposed to fail. In all flows, the attempt to return earlier caused to memory leaks. This patch converts .destroy_cq() to do not return any errors. Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Acked-by: Gal Pressman <galpress@amazon.com> Acked-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
committed by
Doug Ledford
parent
147b308e6a
commit
a52c8e2469
@@ -1888,14 +1888,13 @@ mem_err:
|
||||
return status;
|
||||
}
|
||||
|
||||
int ocrdma_mbx_destroy_cq(struct ocrdma_dev *dev, struct ocrdma_cq *cq)
|
||||
void ocrdma_mbx_destroy_cq(struct ocrdma_dev *dev, struct ocrdma_cq *cq)
|
||||
{
|
||||
int status = -ENOMEM;
|
||||
struct ocrdma_destroy_cq *cmd;
|
||||
|
||||
cmd = ocrdma_init_emb_mqe(OCRDMA_CMD_DELETE_CQ, sizeof(*cmd));
|
||||
if (!cmd)
|
||||
return status;
|
||||
return;
|
||||
ocrdma_init_mch(&cmd->req, OCRDMA_CMD_DELETE_CQ,
|
||||
OCRDMA_SUBSYS_COMMON, sizeof(*cmd));
|
||||
|
||||
@@ -1903,11 +1902,10 @@ int ocrdma_mbx_destroy_cq(struct ocrdma_dev *dev, struct ocrdma_cq *cq)
|
||||
(cq->id << OCRDMA_DESTROY_CQ_QID_SHIFT) &
|
||||
OCRDMA_DESTROY_CQ_QID_MASK;
|
||||
|
||||
status = ocrdma_mbx_cmd(dev, (struct ocrdma_mqe *)cmd);
|
||||
ocrdma_mbx_cmd(dev, (struct ocrdma_mqe *)cmd);
|
||||
ocrdma_unbind_eq(dev, cq->eqn);
|
||||
dma_free_coherent(&dev->nic_info.pdev->dev, cq->len, cq->va, cq->pa);
|
||||
kfree(cmd);
|
||||
return status;
|
||||
}
|
||||
|
||||
int ocrdma_mbx_alloc_lkey(struct ocrdma_dev *dev, struct ocrdma_hw_mr *hwmr,
|
||||
|
||||
Reference in New Issue
Block a user