فهرست منبع

Fixes common/cmd_flash.c:

   - fix some compiler/parser error, if using m68k tool chain
   - optical fix for protect on/off all messages, if using more
     then one bank
  Patch by Jens Scharsig, 28 July 2005
Heiko Schocher 19 سال پیش
والد
کامیت
bb74140def
2فایلهای تغییر یافته به همراه14 افزوده شده و 8 حذف شده
  1. 7 0
      CHANGELOG
  2. 7 8
      common/cmd_flash.c

+ 7 - 0
CHANGELOG

@@ -2,6 +2,13 @@
 Changes since U-Boot 1.1.4:
 ======================================================================
 
+* Fixes common/cmd_flash.c:
+
+   - fix some compiler/parser error, if using m68k tool chain
+   - optical fix for protect on/off all messages, if using more
+     then one bank
+  Patch by Jens Scharsig, 28 July 2005
+
 * Fix Lite5200B support: initialize SDelay register
   See Freescale's AN3221 "MPC5200B SDRAM Initialization and
   Configuration", 3.3.1 SDelay--MBAR + 0x0190

+ 7 - 8
common/cmd_flash.c

@@ -125,13 +125,16 @@ abbrev_spec (char *str, flash_info_t ** pinfo, int *psf, int *psl)
 static int
 addr_spec(char *arg1, char *arg2, ulong *addr_first, ulong *addr_last)
 {
-	char len_used = 0; /* indicates if the "start +length" form used */
 	char *ep;
+	char len_used; /* indicates if the "start +length" form used */
+	char found;
+	ulong bank;
 
 	*addr_first = simple_strtoul(arg1, &ep, 16);
 	if (ep == arg1 || *ep != '\0')
 		return -1;
 
+	len_used = 0;
 	if (arg2 && *arg2 == '+'){
 		len_used = 1;
 		++arg2;
@@ -142,9 +145,6 @@ addr_spec(char *arg1, char *arg2, ulong *addr_first, ulong *addr_last)
 		return -1;
 
 	if (len_used){
-		char found = 0;
-		ulong bank;
-
 		/*
 		 * *addr_last has the length, compute correct *addr_last
 		 * XXX watch out for the integer overflow! Right now it is
@@ -159,6 +159,7 @@ addr_spec(char *arg1, char *arg2, ulong *addr_first, ulong *addr_last)
 		 */
 
 		/* find the end addr of the sector where the *addr_last is */
+		found = 0;
 		for (bank = 0; bank < CFG_MAX_FLASH_BANKS && !found; ++bank){
 			int i;
 			flash_info_t *info = &flash_info[bank];
@@ -506,12 +507,10 @@ int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 				info->protect[i] = p;
 #endif	/* CFG_FLASH_PROTECTION */
 			}
-		}
-
 #if defined(CFG_FLASH_PROTECTION)
-		if (!rcode) puts (" done\n");
+			if (!rcode) puts (" done\n");
 #endif	/* CFG_FLASH_PROTECTION */
-
+		}
 		return rcode;
 	}