From 109c676eebbc62e8d34c4db9aeba1f692d9e53e1 Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Wed, 6 Sep 2017 13:17:19 -0700 Subject: [PATCH] ccd_config: Fix setting test lab mode Somewhere this lost a call to ccd_save_config(). Put that back. Also, make it so 'ccd testlab' prints the current state. BUG=b:65407184 BRANCH=cr50 TEST=manual with CR50_DEV=1 image ccd oops ccd testlab -> disabled ccd testlab enable ppresence (or tap power button) ppresence ppresence ccd testlab -> enabled reboot ccd testlab -> enabled ccd lock ccd -> state=locked ccd testlab open ccd -> state=opened ccd testlab disable ppresence (or tap power button) ppresence ppresence ccd testlab -> disabled reboot ccd testlab -> disabled ccd testlab open -> acces denied Change-Id: Iffdd84e8e0df3222b8762638b8a613f146c15f13 Signed-off-by: Randall Spangler Reviewed-on: https://chromium-review.googlesource.com/653765 Reviewed-by: Mary Ruthven --- common/ccd_config.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/common/ccd_config.c b/common/ccd_config.c index f8c6aec700..bf8efe339e 100644 --- a/common/ccd_config.c +++ b/common/ccd_config.c @@ -608,12 +608,15 @@ static void ccd_testlab_toggle(void) { int v = !ccd_get_flag(CCD_FLAG_TEST_LAB); - CPRINTS("Test lab mode %sbled", v ? "ena" : "dis"); - /* Use raw_set_flag() because the test lab flag is internal */ mutex_lock(&ccd_config_mutex); raw_set_flag(CCD_FLAG_TEST_LAB, v); mutex_unlock(&ccd_config_mutex); + + if (ccd_save_config() == EC_SUCCESS) + CPRINTS("CCD test lab mode %sbled", v ? "ena" : "dis"); + else + CPRINTS("Error setting CCD test lab mode!"); } /******************************************************************************/ @@ -947,8 +950,11 @@ static int command_ccd_testlab(int argc, char **argv) if (force_disabled) return EC_ERROR_ACCESS_DENIED; - if (argc < 2) - return EC_ERROR_PARAM_COUNT; + if (argc < 2) { + ccprintf("CCD test lab mode %sbled", + ccd_get_flag(CCD_FLAG_TEST_LAB) ? "ena" : "dis"); + return EC_SUCCESS; + } if (!strcasecmp(argv[1], "open")) { if (!ccd_get_flag(CCD_FLAG_TEST_LAB))