diff options
Diffstat (limited to 'firmware/rolo.c')
-rw-r--r-- | firmware/rolo.c | 13 |
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)); |