summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2013-06-21 15:16:34 +0800
committerChromeBot <chrome-bot@google.com>2013-06-22 22:30:04 -0700
commit843587252350330e33c143a7485cfbc184654921 (patch)
tree744756a3bc7281e98014e9fc3cb8f562606e81dd
parentf73c6d8ec7ec38957ec03a74a6d99161799138a4 (diff)
downloadchrome-ec-843587252350330e33c143a7485cfbc184654921.tar.gz
Clear pending interrupt on disabling TSU6721 interrupt
If we disable TSU6721 interrupt without clearing pending interrupt, we get bogus interrupt after. Let's clear it. BUG=chrome-os-partner:20336 TEST=Log interrupt. Check there's none after disabling interrupt. BRANCH=Spring Original-Change-Id: Ic8e5bcdcea894cccfbdf4b7d9afd43084b0c3309 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/59534 Reviewed-by: Randall Spangler <rspangler@chromium.org> (cherry picked from commit 0412f17aaf20887fc6ec2598f269841e03b760e4) Change-Id: I18ba0e4bbfd81e59d30b2d5723f8859e42acadaa Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/59665 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r--common/tsu6721.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/common/tsu6721.c b/common/tsu6721.c
index ae22201628..6c45f8799c 100644
--- a/common/tsu6721.c
+++ b/common/tsu6721.c
@@ -63,7 +63,11 @@ int tsu6721_enable_interrupts(void)
int tsu6721_disable_interrupts(void)
{
int ctrl = tsu6721_read(TSU6721_REG_CONTROL);
- return tsu6721_write(TSU6721_REG_CONTROL, ctrl | 0x1);
+ int rv;
+
+ rv = tsu6721_write(TSU6721_REG_CONTROL, ctrl | 0x1);
+ tsu6721_get_interrupts();
+ return rv;
}
int tsu6721_set_interrupt_mask(uint16_t mask)