diff options
author | Sreenivasa Honnur <sreenivasa.honnur@exar.com> | 2010-04-08 04:44:39 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-08 04:48:06 -0400 |
commit | aaffbd9f7734721bf42d246eb31fc79d7adb2cb9 (patch) | |
tree | 2fdff99d9a570828d30755081b742261d2e7bab3 /drivers/net/vxge | |
parent | 4d8dc679084d8dd7b81b2ae245844246deb0759c (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.c | 4 |
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); |