summaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2014-11-18 18:09:06 +0100
committerPali Rohár <pali.rohar@gmail.com>2014-11-18 18:09:06 +0100
commit65888448bf184a830d0b2c0938491bdb6e269893 (patch)
tree402885eb59772e86258e5b50ef4f3f7251971e0d /src/main.c
parent26b6f86f84f04c1b1461e257bb843881a58ff057 (diff)
download0xFFFF-65888448bf184a830d0b2c0938491bdb6e269893.tar.bz2
main: When doing normal flash filter all 2nd images
This will fix infinite loop after successfull fiasco image flash
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 34ebffd..0552593 100644
--- a/src/main.c
+++ b/src/main.c
@@ -758,6 +758,23 @@ int main(int argc, char **argv) {
}
+ /* remove 2nd image when doing normal flash */
+ if ( dev_flash ) {
+ image_ptr = image_first;
+ while ( image_ptr ) {
+ struct image_list * next = image_ptr->next;
+ if ( image_ptr->image->type == IMAGE_2ND ) {
+ if ( image_ptr == image_first )
+ image_first = next;
+ image_list_del(image_ptr);
+ }
+ image_ptr = next;
+ }
+
+ /* make sure that fiasco_in has valid images */
+ if ( fiasco_in )
+ fiasco_in->first = image_first;
+ }
/* identify images */
if ( image_ident ) {