diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2010-06-15 10:44:43 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-06-28 10:45:25 +0200 |
commit | b3c91fbf5fcfb6d9b022bce8727abadb93266c1f (patch) | |
tree | b37dcaa140623983a280e624b12722c2685501d8 /net/nfs.c | |
parent | 80c071dd56bdd021b41b0d303f1f190bd79f590c (diff) | |
download | barebox-b3c91fbf5fcfb6d9b022bce8727abadb93266c1f.tar.gz barebox-b3c91fbf5fcfb6d9b022bce8727abadb93266c1f.tar.xz |
nfs: resend requests after timeout
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net/nfs.c')
-rw-r--r-- | net/nfs.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -124,7 +124,7 @@ struct rpc_t { } u; }; -#define NFS_TIMEOUT 60 +#define NFS_TIMEOUT 1 static unsigned long rpc_id = 0; static int nfs_offset = -1; @@ -399,6 +399,8 @@ static void nfs_send(void) nfs_readlink_req(); break; } + + nfs_timer_start = get_time_ns(); } static int rpc_check_reply(unsigned char *pkt, int isnfs) @@ -661,8 +663,6 @@ static void nfs_start(char *p) printf("\nFilename '%s/%s'.\n", nfs_path, nfs_filename); - nfs_timer_start = get_time_ns(); - nfs_state = STATE_PRCLOOKUP_PROG_MOUNT_REQ; nfs_send(); @@ -706,8 +706,10 @@ static int do_nfs(struct command *cmdtp, int argc, char *argv[]) break; } net_poll(); - if (is_timeout(nfs_timer_start, NFS_TIMEOUT * SECOND)) - break; + if (is_timeout(nfs_timer_start, NFS_TIMEOUT * SECOND)) { + show_progress(-1); + nfs_send(); + } } net_unregister(nfs_con); |