diff options
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib_multicast.c')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c index 3ecf78a9493a..87096939e0b6 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c | |||
@@ -928,21 +928,16 @@ struct ipoib_mcast_iter *ipoib_mcast_iter_init(struct net_device *dev) | |||
928 | return NULL; | 928 | return NULL; |
929 | 929 | ||
930 | iter->dev = dev; | 930 | iter->dev = dev; |
931 | memset(iter->mgid.raw, 0, sizeof iter->mgid); | 931 | memset(iter->mgid.raw, 0, 16); |
932 | 932 | ||
933 | if (ipoib_mcast_iter_next(iter)) { | 933 | if (ipoib_mcast_iter_next(iter)) { |
934 | ipoib_mcast_iter_free(iter); | 934 | kfree(iter); |
935 | return NULL; | 935 | return NULL; |
936 | } | 936 | } |
937 | 937 | ||
938 | return iter; | 938 | return iter; |
939 | } | 939 | } |
940 | 940 | ||
941 | void ipoib_mcast_iter_free(struct ipoib_mcast_iter *iter) | ||
942 | { | ||
943 | kfree(iter); | ||
944 | } | ||
945 | |||
946 | int ipoib_mcast_iter_next(struct ipoib_mcast_iter *iter) | 941 | int ipoib_mcast_iter_next(struct ipoib_mcast_iter *iter) |
947 | { | 942 | { |
948 | struct ipoib_dev_priv *priv = netdev_priv(iter->dev); | 943 | struct ipoib_dev_priv *priv = netdev_priv(iter->dev); |