summaryrefslogtreecommitdiff
path: root/bootloader/iriver_h1x0.c
diff options
context:
space:
mode:
Diffstat (limited to 'bootloader/iriver_h1x0.c')
-rw-r--r--bootloader/iriver_h1x0.c31
1 files changed, 14 insertions, 17 deletions
diff --git a/bootloader/iriver_h1x0.c b/bootloader/iriver_h1x0.c
index 94ec6cb0fb..7efaaa3308 100644
--- a/bootloader/iriver_h1x0.c
+++ b/bootloader/iriver_h1x0.c
@@ -479,19 +479,6 @@ void main(void)
479 479
480 check_battery(); 480 check_battery();
481 481
482 /* Don't start if the Hold button is active on the device you
483 are starting with */
484 if ((usb_detect() != USB_INSERTED) && (hold_status || recovery_mode))
485 {
486 if (detect_original_firmware())
487 {
488 printf("Hold switch on");
489 shutdown();
490 }
491
492 failsafe_menu();
493 }
494
495 /* Holding REC while starting runs the original firmware */ 482 /* Holding REC while starting runs the original firmware */
496 if (detect_original_firmware() && rec_button) 483 if (detect_original_firmware() && rec_button)
497 { 484 {
@@ -544,10 +531,20 @@ void main(void)
544 lcd_update(); 531 lcd_update();
545 } 532 }
546 533
547 /* boot from flash if that is the default */ 534 /* recheck the hold switch status as it may have changed */
548 try_flashboot(); 535 hold_status = (button_hold() || remote_button_hold());
549 if (recovery_mode) 536
550 printf("Falling back to boot from disk"); 537 /* hold switch shutdown or failsafe recovery mode */
538 if (hold_status || recovery_mode)
539 {
540 if (detect_original_firmware())
541 {
542 printf("Hold switch on");
543 shutdown();
544 }
545
546 failsafe_menu();
547 }
551 548
552 rc = storage_init(); 549 rc = storage_init();
553 if(rc) 550 if(rc)