diff options
author | Vic Yang <victoryang@chromium.org> | 2014-06-11 10:53:50 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-06-12 01:37:53 +0000 |
commit | b78f9594ae64b9937950e81bd408952d6894d46c (patch) | |
tree | fc1328d82075c7970a3d4e96beba24182e035dd6 /board | |
parent | 4670e537169b2ed4befa375cbd9c13a2bd8c39c7 (diff) | |
download | chrome-ec-b78f9594ae64b9937950e81bd408952d6894d46c.tar.gz |
Keyborg: add debug info on sync failure
It's often hard to find out which sync call failed when one happens.
Let's add debug info.
BUG=None
TEST=Add a sync call on master side only, and see the file name and line
number.
BRANCH=None
Change-Id: I68d0fa12d5d84293870e845fbb5f83aa3a8125fa
Signed-off-by: Vic Yang <victoryang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/203339
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'board')
-rw-r--r-- | board/keyborg/master_slave.c | 4 | ||||
-rw-r--r-- | board/keyborg/master_slave.h | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/board/keyborg/master_slave.c b/board/keyborg/master_slave.c index 5bb03c4e70..564bc502d6 100644 --- a/board/keyborg/master_slave.c +++ b/board/keyborg/master_slave.c @@ -32,7 +32,7 @@ static int wait_sync_signal(int mask, int v, int timeout_ms) return EC_SUCCESS; } -int master_slave_sync(int timeout_ms) +int master_slave_sync_impl(const char *filename, int line, int timeout_ms) { int err = EC_SUCCESS; if (is_master) { @@ -50,6 +50,8 @@ int master_slave_sync(int timeout_ms) err = EC_ERROR_TIMEOUT; STM32_GPIO_BSRR(GPIO_I) = SYNC2 << 16; } + if (err != EC_SUCCESS) + debug_printf("Sync failed at %s:%d\n", filename, line); return err; } diff --git a/board/keyborg/master_slave.h b/board/keyborg/master_slave.h index b64b88819e..8cc1c8ce64 100644 --- a/board/keyborg/master_slave.h +++ b/board/keyborg/master_slave.h @@ -24,7 +24,9 @@ int master_slave_is_master(void); * * @return EC_SUCCESS, or non-zero if any error. */ -int master_slave_sync(int timeout_ms); +#define master_slave_sync(timeout_ms) \ + master_slave_sync_impl(__FILE__, __LINE__, timeout_ms) +int master_slave_sync_impl(const char *filename, int line, int timeout_ms); /** * Identify this chip and shake hands with the other chip. |