diff options
Diffstat (limited to 'bootloader/iriver_h1x0.c')
-rw-r--r-- | bootloader/iriver_h1x0.c | 31 |
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) |