diff options
author | Eli Cohen <eli@mellanox.co.il> | 2007-08-21 11:46:10 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2007-10-09 22:59:06 -0400 |
commit | ca6de177acef8f2c7c3901ea583a263364ca7bbb (patch) | |
tree | 04910ca60735e6ef99916f7b91d83fc468852af6 | |
parent | b3ac60fc243f2312d27ecded058ef96f52f25fe0 (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.c | 4 |
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 | ||