Commit bc2618f7 authored by Florin Malita's avatar Florin Malita Committed by Jeff Garzik

tehuti: possible leak in bdx_probe

If pci_enable_device fails, bdx_probe returns without freeing the
allocated pci_nic structure.

Coverity CID 1908.
Signed-off-by: default avatarFlorin Malita <fmalita@gmail.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 7e7b968a
...@@ -1906,7 +1906,7 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -1906,7 +1906,7 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
/************** pci *****************/ /************** pci *****************/
if ((err = pci_enable_device(pdev))) /* it trigers interrupt, dunno why. */ if ((err = pci_enable_device(pdev))) /* it trigers interrupt, dunno why. */
RET(err); /* it's not a problem though */ goto err_pci; /* it's not a problem though */
if (!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) && if (!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) &&
!(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) { !(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) {
...@@ -2076,6 +2076,7 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -2076,6 +2076,7 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
pci_release_regions(pdev); pci_release_regions(pdev);
err_dma: err_dma:
pci_disable_device(pdev); pci_disable_device(pdev);
err_pci:
vfree(nic); vfree(nic);
RET(err); RET(err);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment