net: Refactor to protect access to the NetState variable

Changes to NetState now go through an accessor function called
net_set_state()

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
diff --git a/net/net.c b/net/net.c
index e5fbda3..60be978 100644
--- a/net/net.c
+++ b/net/net.c
@@ -149,7 +149,7 @@
 void		(*push_packet)(void *, int len) = 0;
 #endif
 /* Network loop state */
-int		NetState;
+enum net_loop_state net_state;
 /* Tried all network devices */
 int		NetRestartWrap;
 /* Network loop restarted */
@@ -212,7 +212,7 @@
 			 * Just use BOOTP/RARP to configure system;
 			 * Do not use TFTP to load the bootfile.
 			 */
-			NetState = NETLOOP_SUCCESS;
+			net_set_state(NETLOOP_SUCCESS);
 			return;
 		}
 #if defined(CONFIG_CMD_NFS)
@@ -290,7 +290,7 @@
 restart:
 	memcpy(NetOurEther, eth_get_dev()->enetaddr, 6);
 
-	NetState = NETLOOP_CONTINUE;
+	net_set_state(NETLOOP_CONTINUE);
 
 	/*
 	 *	Start the ball rolling with the given start function.  From
@@ -399,7 +399,7 @@
 
 	/*
 	 *	Main packet reception loop.  Loop receiving packets until
-	 *	someone sets `NetState' to a state that terminates.
+	 *	someone sets `net_state' to a state that terminates.
 	 */
 	for (;;) {
 		WATCHDOG_RESET();
@@ -451,7 +451,7 @@
 		}
 
 
-		switch (NetState) {
+		switch (net_state) {
 
 		case NETLOOP_RESTART:
 			NetRestarted = 1;
@@ -475,6 +475,9 @@
 
 		case NETLOOP_FAIL:
 			goto done;
+
+		case NETLOOP_CONTINUE:
+			continue;
 		}
 	}
 
@@ -492,7 +495,7 @@
 static void
 startAgainTimeout(void)
 {
-	NetState = NETLOOP_RESTART;
+	net_set_state(NETLOOP_RESTART);
 }
 
 static void
@@ -523,7 +526,7 @@
 
 	if ((!retry_forever) && (NetTryCount >= retrycnt)) {
 		eth_halt();
-		NetState = NETLOOP_FAIL;
+		net_set_state(NETLOOP_FAIL);
 		return;
 	}
 
@@ -540,10 +543,10 @@
 			NetSetTimeout(10000UL, startAgainTimeout);
 			NetSetHandler(startAgainHandler);
 		} else {
-			NetState = NETLOOP_FAIL;
+			net_set_state(NETLOOP_FAIL);
 		}
 	} else {
-		NetState = NETLOOP_RESTART;
+		net_set_state(NETLOOP_RESTART);
 	}
 }