projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TQM8260: environment in flash instead EEPROM, baudrate 115k
[oweals/u-boot.git]
/
net
/
nfs.c
diff --git
a/net/nfs.c
b/net/nfs.c
index 1b27c977c18df5dcf384c006e2e438919cfa0879..f2900149d4980919c94ed864160b78079cee4fbe 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 */
#if defined(CONFIG_CMD_NET) && defined(CONFIG_CMD_NFS)
#define HASHES_PER_LINE 65 /* Number of "loading" hashes per line */
-#define NFS_TIMEOUT 60
+#define NFS_RETRY_COUNT 30
+#define NFS_TIMEOUT 2000UL
static int fs_mounted = 0;
static unsigned long rpc_id = 0;
static int fs_mounted = 0;
static unsigned long rpc_id = 0;
@@
-68,10
+69,10
@@
static __inline__ int
store_block (uchar * src, unsigned offset, unsigned len)
{
ulong newsize = offset + len;
store_block (uchar * src, unsigned offset, unsigned len)
{
ulong newsize = offset + len;
-#ifdef C
FG
_DIRECT_FLASH_NFS
+#ifdef C
ONFIG_SYS
_DIRECT_FLASH_NFS
int i, rc = 0;
int i, rc = 0;
- for (i=0; i<C
FG
_MAX_FLASH_BANKS; i++) {
+ for (i=0; i<C
ONFIG_SYS
_MAX_FLASH_BANKS; i++) {
/* start address in flash? */
if (load_addr + offset >= flash_info[i].start[0]) {
rc = 1;
/* start address in flash? */
if (load_addr + offset >= flash_info[i].start[0]) {
rc = 1;
@@
-86,7
+87,7
@@
store_block (uchar * src, unsigned offset, unsigned len)
return -1;
}
} else
return -1;
}
} else
-#endif /* C
FG
_DIRECT_FLASH_NFS */
+#endif /* C
ONFIG_SYS
_DIRECT_FLASH_NFS */
{
(void)memcpy ((void *)(load_addr + offset), src, len);
}
{
(void)memcpy ((void *)(load_addr + offset), src, len);
}
@@
-586,6
+587,10
@@
Interfaces of U-BOOT
static void
NfsTimeout (void)
{
static void
NfsTimeout (void)
{
+ if ( NfsTimeoutCount++ < NFS_RETRY_COUNT ) {
+ NfsSend ();
+ return;
+ }
puts ("Timeout\n");
NetState = NETLOOP_FAIL;
return;
puts ("Timeout\n");
NetState = NETLOOP_FAIL;
return;
@@
-669,7
+674,7
@@
NfsHandler (uchar *pkt, unsigned dest, unsigned src, unsigned len)
case STATE_READ_REQ:
rlen = nfs_read_reply (pkt, len);
case STATE_READ_REQ:
rlen = nfs_read_reply (pkt, len);
- NetSetTimeout (NFS_TIMEOUT
* CFG_HZ
, NfsTimeout);
+ NetSetTimeout (NFS_TIMEOUT, NfsTimeout);
if (rlen > 0) {
nfs_offset += rlen;
NfsSend ();
if (rlen > 0) {
nfs_offset += rlen;
NfsSend ();
@@
-758,7
+763,7
@@
NfsStart (void)
printf ("\nLoad address: 0x%lx\n"
"Loading: *\b", load_addr);
printf ("\nLoad address: 0x%lx\n"
"Loading: *\b", load_addr);
- NetSetTimeout (NFS_TIMEOUT
* CFG_HZ
, NfsTimeout);
+ NetSetTimeout (NFS_TIMEOUT, NfsTimeout);
NetSetHandler (NfsHandler);
NfsTimeoutCount = 0;
NetSetHandler (NfsHandler);
NfsTimeoutCount = 0;