aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tehuti.c
diff options
context:
space:
mode:
authorFlorin Malita <fmalita@gmail.com>2007-10-13 13:03:38 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-15 14:29:48 -0400
commitbc2618f7528d4b6ea0c2c53539a3b8cff2b33b24 (patch)
treeaae1d3769d1fa2c9bcbaef50bb08e1291f8b8cae /drivers/net/tehuti.c
parent7e7b968a07022d6aa369b38b095570db241c7bea (diff)
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: Florin Malita <fmalita@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/tehuti.c')
-rw-r--r--drivers/net/tehuti.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/tehuti.c b/drivers/net/tehuti.c
index 8d04654f0c59..4e1b84e6d66a 100644
--- a/drivers/net/tehuti.c
+++ b/drivers/net/tehuti.c
@@ -1906,7 +1906,7 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
1906 1906
1907 /************** pci *****************/ 1907 /************** pci *****************/
1908 if ((err = pci_enable_device(pdev))) /* it trigers interrupt, dunno why. */ 1908 if ((err = pci_enable_device(pdev))) /* it trigers interrupt, dunno why. */
1909 RET(err); /* it's not a problem though */ 1909 goto err_pci; /* it's not a problem though */
1910 1910
1911 if (!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) && 1911 if (!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) &&
1912 !(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) { 1912 !(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) {
@@ -2076,6 +2076,7 @@ err_out_res:
2076 pci_release_regions(pdev); 2076 pci_release_regions(pdev);
2077err_dma: 2077err_dma:
2078 pci_disable_device(pdev); 2078 pci_disable_device(pdev);
2079err_pci:
2079 vfree(nic); 2080 vfree(nic);
2080 2081
2081 RET(err); 2082 RET(err);