--- net/core/dev.old.c	Mon Jun 11 20:00:42 2001
+++ net/core/dev.c	Mon Jun 11 19:51:55 2001
@@ -20,6 +20,9 @@
  *              Pekka Riikonen <priikone@poesidon.pspt.fi>
  *
  *	Changes:
+ *              D.J. Barrow     :       Fixed net_dev_init calling dev_hold & setting
+ *                                      The dev->refcnt to 2 if register_netdev gets 
+ *                                      called first & initialization is deferred.
  *		Alan Cox	:	device private ioctl copies fields back.
  *		Alan Cox	:	Transmit queue code does relevant stunts to
  *					keep the queue safe.
@@ -2733,8 +2736,10 @@
 #endif
 		dev->xmit_lock_owner = -1;
 		dev->iflink = -1;
-		dev_hold(dev);
-
+		/* Can't do dev_hold here in case
+		 *  register_netdev gets called first.
+		 */
+		atomic_set(&dev->refcnt,1);
 		/*
 		 * Allocate name. If the init() fails
 		 * the name will be reissued correctly.
