vboot: enable phone recovery

Enable the phone recovery functionality and UI.

BRANCH=none
BUG=b:153596126
TEST=make runtests

Change-Id: If4fc29db44903e79cecd959a9b558c509ad19e1a
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2196093
Reviewed-by: Joel Kitching <kitching@chromium.org>
diff --git a/firmware/2lib/2kernel.c b/firmware/2lib/2kernel.c
index 2356320..3155d18 100644
--- a/firmware/2lib/2kernel.c
+++ b/firmware/2lib/2kernel.c
@@ -143,9 +143,9 @@
 		return rv;
 	}
 
-	/* Disable phone recovery */
+	/* Enable phone recovery */
 	secdata_flags = vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS);
-	secdata_flags |= VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_DISABLED;
+	secdata_flags &= ~VB2_SECDATA_KERNEL_FLAG_PHONE_RECOVERY_DISABLED;
 	vb2_secdata_kernel_set(ctx, VB2_SECDATA_KERNEL_FLAGS, secdata_flags);
 
 	/* Read kernel version from secdata. */
diff --git a/tests/vb2_kernel_tests.c b/tests/vb2_kernel_tests.c
index 30da9ad..09ef706 100644
--- a/tests/vb2_kernel_tests.c
+++ b/tests/vb2_kernel_tests.c
@@ -213,9 +213,9 @@
 		"  key data");
 	TEST_EQ(sd->kernel_version_secdata, 0x20002,
 		"  secdata_kernel version");
-	/* Make sure phone recovery is disabled */
-	TEST_EQ(vb2api_phone_recovery_enabled(ctx), 0,
-		"  phone recovery disabled");
+	/* Make sure phone recovery is enabled */
+	TEST_EQ(vb2api_phone_recovery_enabled(ctx), 1,
+		"  phone recovery enabled");
 
 	/* Bad secdata_fwmp causes failure in normal mode only */
 	reset_common_data(FOR_PHASE1);