
From: Shirley Ma <xma@us.ibm.com>

Change uses of list_for_each_entry() where the loop variable is freed
inside the loop to list_for_each_entry_safe().

Signed-off-by: Shirley Ma <xma@us.ibm.com>
Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/infiniband/ulp/ipoib/ipoib_multicast.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN drivers/infiniband/ulp/ipoib/ipoib_multicast.c~ib-ipoib-use-list_for_each_entry_safe-when-required drivers/infiniband/ulp/ipoib/ipoib_multicast.c
--- 25/drivers/infiniband/ulp/ipoib/ipoib_multicast.c~ib-ipoib-use-list_for_each_entry_safe-when-required	2005-03-02 21:50:39.000000000 -0800
+++ 25-akpm/drivers/infiniband/ulp/ipoib/ipoib_multicast.c	2005-03-02 21:50:39.000000000 -0800
@@ -790,7 +790,7 @@ void ipoib_mcast_dev_flush(struct net_de
 
 	spin_unlock_irqrestore(&priv->lock, flags);
 
-	list_for_each_entry(mcast, &remove_list, list) {
+	list_for_each_entry_safe(mcast, tmcast, &remove_list, list) {
 		ipoib_mcast_leave(dev, mcast);
 		ipoib_mcast_free(mcast);
 	}
@@ -902,7 +902,7 @@ void ipoib_mcast_restart_task(void *dev_
 	spin_unlock_irqrestore(&priv->lock, flags);
 
 	/* We have to cancel outside of the spinlock */
-	list_for_each_entry(mcast, &remove_list, list) {
+	list_for_each_entry_safe(mcast, tmcast, &remove_list, list) {
 		ipoib_mcast_leave(mcast->dev, mcast);
 		ipoib_mcast_free(mcast);
 	}
_
