octeontx2-af: Fix a resource leak in an error handling path in 'cgx_probe()'
If an error occurs after the call to 'pci_alloc_irq_vectors()', we must
call 'pci_free_irq_vectors()' in order to avoid a resource leak.
The same sequence is already in place in the corresponding 'cgx_remove()'
function.
Fixes: 1463f382f5
("octeontx2-af: Add support for CGX link management")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
96d4f267e4
Коммит
1492623e83
|
@ -825,7 +825,7 @@ static int cgx_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
if (!cgx->cgx_cmd_workq) {
|
||||
dev_err(dev, "alloc workqueue failed for cgx cmd");
|
||||
err = -ENOMEM;
|
||||
goto err_release_regions;
|
||||
goto err_free_irq_vectors;
|
||||
}
|
||||
|
||||
list_add(&cgx->cgx_list, &cgx_list);
|
||||
|
@ -841,6 +841,8 @@ static int cgx_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
err_release_lmac:
|
||||
cgx_lmac_exit(cgx);
|
||||
list_del(&cgx->cgx_list);
|
||||
err_free_irq_vectors:
|
||||
pci_free_irq_vectors(pdev);
|
||||
err_release_regions:
|
||||
pci_release_regions(pdev);
|
||||
err_disable_device:
|
||||
|
|
Загрузка…
Ссылка в новой задаче