Skip to content

Commit 1492623

Browse files
tititiou36davem330
authored andcommitted
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: 1463f38 ("octeontx2-af: Add support for CGX link management") Signed-off-by: Christophe JAILLET <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 96d4f26 commit 1492623

File tree

1 file changed

+3
-1
lines changed
  • drivers/net/ethernet/marvell/octeontx2/af

1 file changed

+3
-1
lines changed

drivers/net/ethernet/marvell/octeontx2/af/cgx.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,7 @@ static int cgx_probe(struct pci_dev *pdev, const struct pci_device_id *id)
825825
if (!cgx->cgx_cmd_workq) {
826826
dev_err(dev, "alloc workqueue failed for cgx cmd");
827827
err = -ENOMEM;
828-
goto err_release_regions;
828+
goto err_free_irq_vectors;
829829
}
830830

831831
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)
841841
err_release_lmac:
842842
cgx_lmac_exit(cgx);
843843
list_del(&cgx->cgx_list);
844+
err_free_irq_vectors:
845+
pci_free_irq_vectors(pdev);
844846
err_release_regions:
845847
pci_release_regions(pdev);
846848
err_disable_device:

0 commit comments

Comments
 (0)