NFS Timeout with large files.
authorHiroshi Ito <ito@mlb.co.jp>
Thu, 31 Jan 2008 09:35:04 +0000 (18:35 +0900)
committerWolfgang Denk <wd@denx.de>
Thu, 14 Feb 2008 00:26:13 +0000 (01:26 +0100)
Retry to send NFS packet before reaching timeout.

Signed-off-by: Hiroshi Ito <ito@mlb.co.jp>
net/nfs.c

index aa8d612e5847a8f204f6ab7ef04c6b423fdea4e0..6573c1716bb07fd731f5a03426cf1fd4cedb84ba 100644 (file)
--- a/net/nfs.c
+++ b/net/nfs.c
@@ -34,7 +34,8 @@
 #if defined(CONFIG_CMD_NET) && defined(CONFIG_CMD_NFS)
 
 #define HASHES_PER_LINE 65     /* Number of "loading" hashes per line  */
-#define NFS_TIMEOUT 60UL
+#define NFS_RETRY_COUNT 30
+#define NFS_TIMEOUT 2UL
 
 static int fs_mounted = 0;
 static unsigned long rpc_id = 0;
@@ -586,6 +587,10 @@ Interfaces of U-BOOT
 static void
 NfsTimeout (void)
 {
+       if ( NfsTimeoutCount++ < NFS_RETRY_COUNT ) {
+               NfsSend ();
+               return;
+       }
        puts ("Timeout\n");
        NetState = NETLOOP_FAIL;
        return;