mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-11 18:35:28 +00:00
mec1322: i2c: Disable i2c interrupts after failed wait
If we timeout waiting for an i2c interrupt, we will exit wait_for_interrupt() with the i2c interrupt still enabled. Fix this by explicitly disabling the i2c interrupt before returning. BUG=None TEST=Manual on Glados, verify no i2c errors during normal functionality. BRANCH=None Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: Icd85acb6de1d499a29f33ebda594f739cdf9fd3e Reviewed-on: https://chromium-review.googlesource.com/304841 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Alec Berg <alecaberg@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
298845ed71
commit
c682beaacf
@@ -133,6 +133,8 @@ static int wait_for_interrupt(int controller)
|
||||
/* Wait until I2C interrupt or timeout. */
|
||||
event = task_wait_event_mask(TASK_EVENT_I2C_IDLE,
|
||||
cdata[controller].timeout_us);
|
||||
|
||||
task_disable_irq(MEC1322_IRQ_I2C_0 + controller);
|
||||
cdata[controller].task_waiting = TASK_ID_INVALID;
|
||||
|
||||
return (event & TASK_EVENT_TIMER) ? EC_ERROR_TIMEOUT : EC_SUCCESS;
|
||||
|
||||
Reference in New Issue
Block a user