diff options
author | Eli Cohen <eli@mellanox.co.il> | 2006-01-10 10:42:14 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-01-10 10:42:14 -0500 |
commit | 70b4c8cdc168bb5d18e23fd205c4ede1b756a8b2 (patch) | |
tree | 029d149d2b25eae3b8ecf4dfa62e0b3c47c7db02 /drivers/infiniband | |
parent | cf311cd49a78f1e431787068cc31d29d06a415e6 (diff) |
IPoIB: Fix error path in ipoib_mcast_dev_flush()
Don't leak memory on allocation failure for broadcast mcast group.
Also, print a warning to match handling for other mcast groups.
Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c index ed0c2ead8bc1..6c6db759e79e 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c | |||
@@ -780,9 +780,11 @@ void ipoib_mcast_dev_flush(struct net_device *dev) | |||
780 | &priv->multicast_tree); | 780 | &priv->multicast_tree); |
781 | 781 | ||
782 | list_add_tail(&priv->broadcast->list, &remove_list); | 782 | list_add_tail(&priv->broadcast->list, &remove_list); |
783 | } | 783 | priv->broadcast = nmcast; |
784 | 784 | } else | |
785 | priv->broadcast = nmcast; | 785 | ipoib_warn(priv, "could not reallocate broadcast group " |
786 | IPOIB_GID_FMT "\n", | ||
787 | IPOIB_GID_ARG(priv->broadcast->mcmember.mgid)); | ||
786 | } | 788 | } |
787 | 789 | ||
788 | spin_unlock_irqrestore(&priv->lock, flags); | 790 | spin_unlock_irqrestore(&priv->lock, flags); |