]> git.sur5r.net Git - u-boot/blobdiff - net/nfs.c
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx
[u-boot] / net / nfs.c
index 27395fbf2e4b7068dc0de94d7f2df7f3118696f3..d11bb4c15fb87803eb252c764616ed814571262a 100644 (file)
--- a/net/nfs.c
+++ b/net/nfs.c
@@ -29,8 +29,6 @@
 #include "nfs.h"
 #include "bootp.h"
 
-#if defined(CONFIG_CMD_NET) && defined(CONFIG_CMD_NFS)
-
 #define HASHES_PER_LINE 65     /* Number of "loading" hashes per line  */
 #define NFS_RETRY_COUNT 30
 #define NFS_TIMEOUT 2000UL
@@ -516,7 +514,7 @@ nfs_readlink_reply (uchar *pkt, unsigned len)
                strcat (nfs_path, "/");
                pathlen = strlen(nfs_path);
                memcpy (nfs_path+pathlen, (uchar *)&(rpc_pkt.u.reply.data[2]), rlen);
-               nfs_path[pathlen+rlen+1] = 0;
+               nfs_path[pathlen + rlen] = 0;
        } else {
                memcpy (nfs_path, (uchar *)&(rpc_pkt.u.reply.data[2]), rlen);
                nfs_path[rlen] = 0;
@@ -571,13 +569,14 @@ Interfaces of U-BOOT
 static void
 NfsTimeout (void)
 {
-       if ( NfsTimeoutCount++ < NFS_RETRY_COUNT ) {
+       if ( ++NfsTimeoutCount > NFS_RETRY_COUNT ) {
+               puts ("\nRetry count exceeded; starting again\n");
+               NetStartAgain ();
+       } else {
+               puts("T ");
+               NetSetTimeout (NFS_TIMEOUT, NfsTimeout);
                NfsSend ();
-               return;
        }
-       puts ("Timeout\n");
-       NetState = NETLOOP_FAIL;
-       return;
 }
 
 static void
@@ -754,5 +753,3 @@ NfsStart (void)
 
        NfsSend ();
 }
-
-#endif