diff options
author | Charlie Mooney <charliemooney@chromium.org> | 2012-08-15 08:37:58 -0700 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-08-16 10:58:20 -0700 |
commit | cd55d3afaf5317eeec099338b7e79f5a1c78aa84 (patch) | |
tree | ae3b3e12da2d56ac63e18a356052404021dbcebf /LICENSE | |
parent | cebbe4c0e708be36140c8c0fdce45a106f824650 (diff) | |
download | chrome-ec-cd55d3afaf5317eeec099338b7e79f5a1c78aa84.tar.gz |
Snow: Possible problems with i2c error handling
Fixing a couple problems in the error handling for i2c interrupts. The
code could fail and not notice if master_start() returned an error code
with the TASK_EVEN_WAKE bit set. Now it stores the return values
separately to prevent this.
Also, the task id's that the ISR's use to wake up the i2c task after the
transfer is complete were uninitialized. They should always be
initialized by a call to dma_enable_tc_interrupt() but just in case, now
they all get a default value in dma_init() which is called on startup in
board.c
BUG=chrome-os-partner:12405
TEST=confirm that i2c is still working in both slave and master mode by
using the battery and pmu commands from the EC console, then booting up
the machine and using the keyboard. Confirm there are no error messages
on the cpu console.
Change-Id: I49c3da0bf17d0853247a37131cac9719face7ed4
Signed-off-by: Charlie Mooney <charliemooney@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/30417
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'LICENSE')
0 files changed, 0 insertions, 0 deletions