patch-2.4.6 linux/drivers/net/hamradio/bpqether.c
Next file: linux/drivers/net/hamradio/scc.c
Previous file: linux/drivers/net/hamachi.c
Back to the patch index
Back to the overall index
-  Lines: 30
-  Date:
Wed Jun 27 17:10:55 2001
-  Orig file: 
v2.4.5/linux/drivers/net/hamradio/bpqether.c
-  Orig date: 
Wed Apr 18 14:40:06 2001
diff -u --recursive --new-file v2.4.5/linux/drivers/net/hamradio/bpqether.c linux/drivers/net/hamradio/bpqether.c
@@ -166,7 +166,7 @@
  */
 static int bpq_check_devices(struct net_device *dev)
 {
-	struct bpqdev *bpq, *bpq_prev;
+	struct bpqdev *bpq, *bpq_prev, *bpq_next;
 	int result = 0;
 	unsigned long flags;
 
@@ -175,7 +175,8 @@
 
 	bpq_prev = NULL;
 
-	for (bpq = bpq_devices; bpq != NULL; bpq = bpq->next) {
+	for (bpq = bpq_devices; bpq != NULL; bpq = bpq_next) {
+		bpq_next = bpq->next;
 		if (!dev_get(bpq->ethname)) {
 			if (bpq_prev)
 				bpq_prev->next = bpq->next;
@@ -192,8 +193,8 @@
 			unregister_netdevice(&bpq->axdev);
 			kfree(bpq);
 		}
-
-		bpq_prev = bpq;
+		else
+			bpq_prev = bpq;
 	}
 
 	restore_flags(flags);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)