summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2018-01-10 19:00:49 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-03-22 22:24:28 +0000
commit3bf5c6ee61235be803316033acc691af3e1416fc (patch)
treefeb9fceac5917a4652df4e2bdfc92a26c7a51ba2
parent601d33a53b54e113428af1caae6517be7d0a935c (diff)
downloadchrome-ec-3bf5c6ee61235be803316033acc691af3e1416fc.tar.gz
ccd: add distinct return code to indicate that password is required
When user is trying to execute 'ccd open' or 'ccd unlock' and password is set, the return error code does not allow to tell the reason for the command failure. Let's add a distinct return code to indicate this condition so that the user can supply password. BRANCH=cr50 BUG=b:62537474 TEST=verified along with the accompanying gsctool modifications. Change-Id: I286f87ab12114cd7dd7ebcdf0e321f7a24723367 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/861208 Reviewed-by: Randall Spangler <rspangler@chromium.org> (cherry picked from commit d99e680b3ce01db9561739862d4e584820060db7) Reviewed-on: https://chromium-review.googlesource.com/976367 Reviewed-by: Philip Chen <philipchen@chromium.org> Commit-Queue: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org>
-rw-r--r--common/ccd_config.c4
-rw-r--r--include/tpm_vendor_cmds.h1
2 files changed, 3 insertions, 2 deletions
diff --git a/common/ccd_config.c b/common/ccd_config.c
index 6f65626849..544ff33454 100644
--- a/common/ccd_config.c
+++ b/common/ccd_config.c
@@ -910,7 +910,7 @@ static enum vendor_cmd_rc ccd_open(void *buf,
if (!input_size) {
*response_size = 1;
buffer[0] = EC_ERROR_PARAM_COUNT;
- return VENDOR_RC_INTERNAL_ERROR;
+ return VENDOR_RC_PASSWORD_REQUIRED;
}
/*
@@ -995,7 +995,7 @@ static enum vendor_cmd_rc ccd_unlock(void *buf,
if (!input_size) {
*response_size = 1;
buffer[0] = EC_ERROR_PARAM_COUNT;
- return VENDOR_RC_INTERNAL_ERROR;
+ return VENDOR_RC_PASSWORD_REQUIRED;
}
/*
diff --git a/include/tpm_vendor_cmds.h b/include/tpm_vendor_cmds.h
index 55066dd221..b61ca2623c 100644
--- a/include/tpm_vendor_cmds.h
+++ b/include/tpm_vendor_cmds.h
@@ -74,6 +74,7 @@ enum vendor_cmd_rc {
VENDOR_RC_NOT_ALLOWED = 7,
VENDOR_RC_NO_SUCH_SUBCOMMAND = 8,
VENDOR_RC_IN_PROGRESS = 9,
+ VENDOR_RC_PASSWORD_REQUIRED = 10,
/* Only 7 bits available; max is 127 */
VENDOR_RC_NO_SUCH_COMMAND = 127,