diff options
author | Randall Spangler <rspangler@chromium.org> | 2017-09-06 13:17:19 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-09-06 19:12:57 -0700 |
commit | 109c676eebbc62e8d34c4db9aeba1f692d9e53e1 (patch) | |
tree | 3f3007356c25efba75398c9c5d9a951d372ece0d /common/ccd_config.c | |
parent | a59ea3c4dbd09bc5d909e40e636312f553379a56 (diff) | |
download | chrome-ec-109c676eebbc62e8d34c4db9aeba1f692d9e53e1.tar.gz |
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 <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/653765
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
Diffstat (limited to 'common/ccd_config.c')
-rw-r--r-- | common/ccd_config.c | 14 |
1 files 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)) |