aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Cohen <eli@mellanox.co.il>2007-08-21 11:46:10 -0400
committerRoland Dreier <rolandd@cisco.com>2007-10-09 22:59:06 -0400
commitca6de177acef8f2c7c3901ea583a263364ca7bbb (patch)
tree04910ca60735e6ef99916f7b91d83fc468852af6
parentb3ac60fc243f2312d27ecded058ef96f52f25fe0 (diff)
IPoIB: Fix error path memory leak
Clean up properly if ib_query_pkey() or ib_query_gid() fail. Signed-off-by: Eli Cohen <eli@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
-rw-r--r--drivers/infiniband/ulp/ipoib/ipoib_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index 894b1dcdf3eb..5f948b9a9943 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1083,7 +1083,7 @@ static struct net_device *ipoib_add_port(const char *format,
1083 if (result) { 1083 if (result) {
1084 printk(KERN_WARNING "%s: ib_query_pkey port %d failed (ret = %d)\n", 1084 printk(KERN_WARNING "%s: ib_query_pkey port %d failed (ret = %d)\n",
1085 hca->name, port, result); 1085 hca->name, port, result);
1086 goto alloc_mem_failed; 1086 goto device_init_failed;
1087 } 1087 }
1088 1088
1089 /* 1089 /*
@@ -1099,7 +1099,7 @@ static struct net_device *ipoib_add_port(const char *format,
1099 if (result) { 1099 if (result) {
1100 printk(KERN_WARNING "%s: ib_query_gid port %d failed (ret = %d)\n", 1100 printk(KERN_WARNING "%s: ib_query_gid port %d failed (ret = %d)\n",
1101 hca->name, port, result); 1101 hca->name, port, result);
1102 goto alloc_mem_failed; 1102 goto device_init_failed;
1103 } else 1103 } else
1104 memcpy(priv->dev->dev_addr + 4, priv->local_gid.raw, sizeof (union ib_gid)); 1104 memcpy(priv->dev->dev_addr + 4, priv->local_gid.raw, sizeof (union ib_gid));
1105 1105