[PATCH] s390: multicast address registration in lcs

[patch 2/10] s390: multicast address registration in lcs.

From: Michael Holzheu <holzheu@de.ibm.com>

When setting lcs devices online you can run into an endless loop,
because the code that registers the multicast addresses uses
list_for_each_entry instead of list_for_each_entry_safe.

Signed-off-by: Frank Pavlic <pavlic@de.ibm.com>
diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c
index 0f76e94..8d0262e 100644
--- a/drivers/s390/net/lcs.c
+++ b/drivers/s390/net/lcs.c
@@ -11,7 +11,7 @@
  *			  Frank Pavlic (pavlic@de.ibm.com) and
  *		 	  Martin Schwidefsky <schwidefsky@de.ibm.com>
  *
- *    $Revision: 1.96 $	 $Date: 2004/11/11 13:42:33 $
+ *    $Revision: 1.97 $	 $Date: 2005/03/31 09:42:02 $
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -59,7 +59,7 @@
 /**
  * initialization string for output
  */
-#define VERSION_LCS_C  "$Revision: 1.96 $"
+#define VERSION_LCS_C  "$Revision: 1.97 $"
 
 static char version[] __initdata = "LCS driver ("VERSION_LCS_C "/" VERSION_LCS_H ")";
 static char debug_buffer[255];
@@ -1160,7 +1160,7 @@
 		}
 	}
 	/* re-insert all entries from the failed_list into ipm_list */
-	list_for_each_entry(ipm, &failed_list, list) {
+	list_for_each_entry_safe(ipm, tmp, &failed_list, list) {
 		list_del_init(&ipm->list);
 		list_add_tail(&ipm->list, &card->ipm_list);
 	}