Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1492623e authored by Christophe JAILLET's avatar Christophe JAILLET Committed by David S. Miller
Browse files

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: 1463f382 ("octeontx2-af: Add support for CGX link management")
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 96d4f267
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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: