diff options
author | Bill Richardson <wfrichar@chromium.org> | 2013-06-19 16:00:03 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-06-20 16:47:06 -0700 |
commit | e493e7a01333fb0894cbcbc41cd1ec70906a2081 (patch) | |
tree | 30692c39979929f5785f44dbbd58e36df2612105 /util/comm-dev.c | |
parent | b839e6524193b61bad0f5ce935b45f48e26d23c0 (diff) | |
download | chrome-ec-e493e7a01333fb0894cbcbc41cd1ec70906a2081.tar.gz |
Add EC_CMD_TEST_PROTOCOL to fake certain responses.
This lets us force the EC to return various error codes, so that we can be
sure we're seeing them.
BUG=chromium:242706
BRANCH=none
TEST=none
Trigger various errors like so:
ectool test 0 14
ectool test 1 14
ectool test 5 14
ectool test 8 14
ectool test 0 33
Change-Id: Ia951cd7afacdcce6c8ec7d35d3bfb5b113dea694
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/59327
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'util/comm-dev.c')
-rw-r--r-- | util/comm-dev.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/util/comm-dev.c b/util/comm-dev.c index 2802aeca24..4dae913a82 100644 --- a/util/comm-dev.c +++ b/util/comm-dev.c @@ -24,6 +24,7 @@ static int ec_command_dev(int command, int version, void *indata, int insize) { struct cros_ec_command s_cmd; + int r; s_cmd.command = command; s_cmd.version = version; @@ -33,8 +34,14 @@ static int ec_command_dev(int command, int version, s_cmd.insize = insize; s_cmd.indata = indata; - if (ioctl(fd, CROS_EC_DEV_IOCXCMD, &s_cmd)) - return -1; + r = ioctl(fd, CROS_EC_DEV_IOCXCMD, &s_cmd); + if (r < 0) { + fprintf(stderr, "ioctl %d, errno %d (%s), EC result %d\n", + r, errno, strerror(errno), s_cmd.result); + return r; + } + if (s_cmd.result != EC_RES_SUCCESS) + fprintf(stderr, "EC result %d\n", s_cmd.result); return s_cmd.insize; } |