aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/nfs.c2
-rw-r--r--net/tftp.c52
2 files changed, 15 insertions, 39 deletions
diff --git a/net/nfs.c b/net/nfs.c
index 9152ab742e..9f65cfb20d 100644
--- a/net/nfs.c
+++ b/net/nfs.c
@@ -28,7 +28,9 @@
#include <common.h>
#include <command.h>
+#ifdef CONFIG_SYS_DIRECT_FLASH_NFS
#include <flash.h>
+#endif
#include <image.h>
#include <log.h>
#include <net.h>
diff --git a/net/tftp.c b/net/tftp.c
index bfc4c9bde9..451d73529f 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -17,9 +17,6 @@
#include <asm/global_data.h>
#include <net/tftp.h>
#include "bootp.h"
-#ifdef CONFIG_SYS_DIRECT_FLASH_TFTP
-#include <flash.h>
-#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -158,47 +155,24 @@ static inline int store_block(int block, uchar *src, unsigned int len)
tftp_block_size;
ulong newsize = offset + len;
ulong store_addr = tftp_load_addr + offset;
-#ifdef CONFIG_SYS_DIRECT_FLASH_TFTP
- int i, rc = 0;
-
- for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; i++) {
- /* start address in flash? */
- if (flash_info[i].flash_id == FLASH_UNKNOWN)
- continue;
- if (store_addr >= flash_info[i].start[0]) {
- rc = 1;
- break;
- }
- }
-
- if (rc) { /* Flash is destination for this packet */
- rc = flash_write((char *)src, store_addr, len);
- if (rc) {
- flash_perror(rc);
- return rc;
- }
- } else
-#endif /* CONFIG_SYS_DIRECT_FLASH_TFTP */
- {
- void *ptr;
+ void *ptr;
#ifdef CONFIG_LMB
- ulong end_addr = tftp_load_addr + tftp_load_size;
+ ulong end_addr = tftp_load_addr + tftp_load_size;
- if (!end_addr)
- end_addr = ULONG_MAX;
+ if (!end_addr)
+ end_addr = ULONG_MAX;
- if (store_addr < tftp_load_addr ||
- store_addr + len > end_addr) {
- puts("\nTFTP error: ");
- puts("trying to overwrite reserved memory...\n");
- return -1;
- }
-#endif
- ptr = map_sysmem(store_addr, len);
- memcpy(ptr, src, len);
- unmap_sysmem(ptr);
+ if (store_addr < tftp_load_addr ||
+ store_addr + len > end_addr) {
+ puts("\nTFTP error: ");
+ puts("trying to overwrite reserved memory...\n");
+ return -1;
}
+#endif
+ ptr = map_sysmem(store_addr, len);
+ memcpy(ptr, src, len);
+ unmap_sysmem(ptr);
if (net_boot_file_size < newsize)
net_boot_file_size = newsize;