summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2011-11-28 12:20:54 -0800
committerBill Richardson <wfrichar@chromium.org>2011-11-28 12:26:20 -0800
commit759d5c4ccda67308695d09f3448e3edb1910dd53 (patch)
tree1b3aaca4660e4b77c1f7fe058828368490fa3b1e
parent6d696e532c6a0c93ad9b915c59dad4144e6f1b33 (diff)
downloadvboot-759d5c4ccda67308695d09f3448e3edb1910dd53.tar.gz
ONLY pressing the recovery button okays booting from USB
BUG=chrome-os-partner:1113 TEST=manual With the dev-switch OFF, insert a bootable USB drive, reboot while holding down recovery button. It should boot from the USB without prompting for removal. With the dev-switch OFF and the same bootable USB drive inserted, run crossystem recovery_request=2 reboot The BIOS screen should prompt you to remove the USB drive, then to insert it before it will boot from the USB. Prior to this fix, using recovery_request=2 would NOT require removal, while other non-zero values would. NO values of recovery_request should be able to override the removal request. Only physically pressing the button should allow booting immediately from recovery mode with the dev-switch OFF. Change-Id: I6d63ecb761c4b26820091cc7a97ca540b362c22e Reviewed-on: https://gerrit.chromium.org/gerrit/12143 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
-rw-r--r--firmware/lib/vboot_api_kernel.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c
index 5ef78027..6715e86f 100644
--- a/firmware/lib/vboot_api_kernel.c
+++ b/firmware/lib/vboot_api_kernel.c
@@ -201,7 +201,7 @@ VbError_t VbBootRecovery(VbCommonParams* cparams, LoadKernelParams* p) {
/* If the dev-mode switch is off and the user didn't press the recovery
* button, require removal of all external media. */
if (!(shared->flags & VBSD_BOOT_DEV_SWITCH_ON) &&
- (VBNV_RECOVERY_RO_MANUAL != shared->recovery_reason)) {
+ !(shared->flags & VBSD_BOOT_REC_SWITCH_ON)) {
VbDiskInfo* disk_info = NULL;
uint32_t disk_count = 0;