aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/vxge
diff options
context:
space:
mode:
authorSreenivasa Honnur <sreenivasa.honnur@exar.com>2010-04-08 04:44:39 -0400
committerDavid S. Miller <davem@davemloft.net>2010-04-08 04:48:06 -0400
commitaaffbd9f7734721bf42d246eb31fc79d7adb2cb9 (patch)
tree2fdff99d9a570828d30755081b742261d2e7bab3 /drivers/net/vxge
parent4d8dc679084d8dd7b81b2ae245844246deb0759c (diff)
vxge: Fix a possible memory leak in vxge_hw_device_initialize().
- Fix a possible memory leak in vxge_hw_device_initialize(). Free hldev if vxge_hw_device_reg_addr_get() fails. Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@exar.com> Signed-off-by: Ramkrishna Vepa <ram.vepa@exar.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxge')
-rw-r--r--drivers/net/vxge/vxge-config.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/vxge/vxge-config.c b/drivers/net/vxge/vxge-config.c
index ec4408ceef18..66dd5893c2d3 100644
--- a/drivers/net/vxge/vxge-config.c
+++ b/drivers/net/vxge/vxge-config.c
@@ -634,8 +634,10 @@ vxge_hw_device_initialize(
634 __vxge_hw_device_pci_e_init(hldev); 634 __vxge_hw_device_pci_e_init(hldev);
635 635
636 status = __vxge_hw_device_reg_addr_get(hldev); 636 status = __vxge_hw_device_reg_addr_get(hldev);
637 if (status != VXGE_HW_OK) 637 if (status != VXGE_HW_OK) {
638 vfree(hldev);
638 goto exit; 639 goto exit;
640 }
639 __vxge_hw_device_id_get(hldev); 641 __vxge_hw_device_id_get(hldev);
640 642
641 __vxge_hw_device_host_info_get(hldev); 643 __vxge_hw_device_host_info_get(hldev);