From 843587252350330e33c143a7485cfbc184654921 Mon Sep 17 00:00:00 2001 From: Vic Yang Date: Fri, 21 Jun 2013 15:16:34 +0800 Subject: 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 Reviewed-on: https://gerrit.chromium.org/gerrit/59534 Reviewed-by: Randall Spangler (cherry picked from commit 0412f17aaf20887fc6ec2598f269841e03b760e4) Change-Id: I18ba0e4bbfd81e59d30b2d5723f8859e42acadaa Signed-off-by: Vic Yang Reviewed-on: https://gerrit.chromium.org/gerrit/59665 Reviewed-by: Vincent Palatin --- common/tsu6721.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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) -- cgit v1.2.1