changeset 1943:83b190379205

FIS free patch - from Peter Korsgaard
author gthomas
date Wed, 13 Apr 2005 19:24:00 +0000
parents c38f4a6c7abf
children 91de0c0f9954
files packages/redboot/current/ChangeLog packages/redboot/current/src/flash.c
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/packages/redboot/current/ChangeLog
+++ b/packages/redboot/current/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-11  Peter Korsgaard  <jacmet@sunsite.dk>
+
+	* src/flash.c (find_free): Correctly split chunks in two when
+	not final chunk.
+
 2005-03-07 Alexander Neundorf <alexander.neundorf@jenoptik.com>
 
         * src/net/arp.c: use correct sizeof(rt->enet_addr) in
--- a/packages/redboot/current/src/flash.c
+++ b/packages/redboot/current/src/flash.c
@@ -591,8 +591,8 @@ find_free(struct free_chunk *chunks)
                     } else {
                         // Split chunk into two parts
                         if ((img->flash_base+img->size) < (CYG_ADDRESS)fis_end) {
-                            chunks[idx+1].start = img->flash_base + img->size;
-                            chunks[idx+1].end = chunks[idx].end;
+                            chunks[num_chunks].start = img->flash_base + img->size;
+                            chunks[num_chunks].end = chunks[idx].end;
                             if (++num_chunks == CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS) {
                                 diag_printf("Warning: too many free chunks\n");
                                 return num_chunks;