summaryrefslogtreecommitdiff
path: root/firmware/rolo.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/rolo.c')
-rw-r--r--firmware/rolo.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/firmware/rolo.c b/firmware/rolo.c
index f9b0cc9e61..38d350d432 100644
--- a/firmware/rolo.c
+++ b/firmware/rolo.c
@@ -56,6 +56,10 @@
56#include "crc32.h" 56#include "crc32.h"
57#endif 57#endif
58 58
59#if defined(HAVE_DEVICEDATA) && !defined(SIMULATOR)
60#include "devicedata.h"
61#endif
62
59#if CONFIG_CPU == AS3525v2 63#if CONFIG_CPU == AS3525v2
60#include "ascodec.h" 64#include "ascodec.h"
61#endif 65#endif
@@ -250,9 +254,8 @@ int rolo_load(const char* filename)
250 254
251 err = LOAD_FIRMWARE(filebuf, filename, filebuf_size); 255 err = LOAD_FIRMWARE(filebuf, filename, filebuf_size);
252#if defined(HAVE_BOOTDATA) && !defined(SIMULATOR) 256#if defined(HAVE_BOOTDATA) && !defined(SIMULATOR)
253 /* write the bootdata as if rolo were the bootloader 257 // Write bootdata as long as the existing bootdata is valid
254 * FIXME: this won't work for root redirect... */ 258 if (boot_data_valid)
255 if (!strcmp(filename, BOOTDIR "/" BOOTFILE) && boot_data_valid)
256 { 259 {
257 int volume = 0; 260 int volume = 0;
258 261
@@ -275,6 +278,10 @@ int rolo_load(const char* filename)
275 } 278 }
276#endif 279#endif
277 280
281#if defined(HAVE_DEVICEDATA)
282 write_devicedata(filebuf, filebuf_size);
283#endif
284
278 if (err <= 0) 285 if (err <= 0)
279 { 286 {
280 rolo_error(loader_strerror(err)); 287 rolo_error(loader_strerror(err));