summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSreenivasa Honnur <sreenivasa.honnur@exar.com>2010-04-08 12:44:39 +0400
committerDavid S. Miller <davem@davemloft.net>2010-04-08 12:48:06 +0400
commitaaffbd9f7734721bf42d246eb31fc79d7adb2cb9 (patch)
tree2fdff99d9a570828d30755081b742261d2e7bab3 /drivers
parent4d8dc679084d8dd7b81b2ae245844246deb0759c (diff)
downloadlinux-aaffbd9f7734721bf42d246eb31fc79d7adb2cb9.tar.xz
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')
-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(
__vxge_hw_device_pci_e_init(hldev);
status = __vxge_hw_device_reg_addr_get(hldev);
- if (status != VXGE_HW_OK)
+ if (status != VXGE_HW_OK) {
+ vfree(hldev);
goto exit;
+ }
__vxge_hw_device_id_get(hldev);
__vxge_hw_device_host_info_get(hldev);