mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 11:01:06 -04:00
crypto: hisilicon/hpre - fix resource leak in remove process
In hpre_remove(), when the disable operation of qm sriov failed, the following logic should continue to be executed to release the remaining resources that have been allocated, instead of returning directly, otherwise there will be resource leakage. Signed-off-by: Zhiqi Song <songzhiqi1@huawei.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
@@ -1437,18 +1437,12 @@ static int hpre_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||
static void hpre_remove(struct pci_dev *pdev)
|
||||
{
|
||||
struct hisi_qm *qm = pci_get_drvdata(pdev);
|
||||
int ret;
|
||||
|
||||
hisi_qm_pm_uninit(qm);
|
||||
hisi_qm_wait_task_finish(qm, &hpre_devices);
|
||||
hisi_qm_alg_unregister(qm, &hpre_devices);
|
||||
if (qm->fun_type == QM_HW_PF && qm->vfs_num) {
|
||||
ret = hisi_qm_sriov_disable(pdev, true);
|
||||
if (ret) {
|
||||
pci_err(pdev, "Disable SRIOV fail!\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (qm->fun_type == QM_HW_PF && qm->vfs_num)
|
||||
hisi_qm_sriov_disable(pdev, true);
|
||||
|
||||
hpre_debugfs_exit(qm);
|
||||
hisi_qm_stop(qm, QM_NORMAL);
|
||||
|
||||
Reference in New Issue
Block a user