summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kurtz <djkurtz@chromium.org>2012-07-24 16:13:57 +0400
committerJean Delvare <khali@endymion.delvare>2012-07-24 16:13:57 +0400
commit0ba8b8bfd56533f0b9af7513c6ebbc10c79ae052 (patch)
tree2ebbc15a16f19a8e3c3d0f883bd66e97891fa786
parentefa3cb15ad8ba40bd08b05df87ef0ca6680ef762 (diff)
downloadlinux-0ba8b8bfd56533f0b9af7513c6ebbc10c79ae052.tar.xz
i2c-i801: Clear only status bits in HST_STS
Writing back the whole status register could clear unwanted bits. In particular, it could clear the "INUSE_STS" bit, which is a 'hardware semaphore', that might be useful to use some day. To prepare for this, let's ban writing back the whole status to register HST_STS, of which this is the only instance. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
-rw-r--r--drivers/i2c/busses/i2c-i801.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
index 51e11eb64abc..05f394938b82 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -300,7 +300,7 @@ static void i801_wait_hwpec(struct i801_priv *priv)
if (timeout > MAX_RETRIES)
dev_dbg(&priv->pci_dev->dev, "PEC Timeout!\n");
- outb_p(status, SMBHSTSTS(priv));
+ outb_p(status & STATUS_FLAGS, SMBHSTSTS(priv));
}
static int i801_block_transaction_by_block(struct i801_priv *priv,