summaryrefslogtreecommitdiff
path: root/src/rhd_i2c.c
diff options
context:
space:
mode:
authorEgbert Eich <eich@freedesktop.org>2008-03-10 11:31:27 +0100
committerEgbert Eich <eich@freedesktop.org>2008-03-12 21:29:57 +0100
commit478bda793b7101834ce58bbe37f03a3ccf5036a4 (patch)
tree8a52350647e77ccb1a65192a20aca55e6c38b61f /src/rhd_i2c.c
parente5dddbc2f73bccc66a5ff00a2afb6e8a7ffa93e5 (diff)
Fix issues with DDC on RV620/635.
DDC may also time out or be aborted - in which case the result is also invalid. Let the status function check for that.
Diffstat (limited to 'src/rhd_i2c.c')
-rw-r--r--src/rhd_i2c.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rhd_i2c.c b/src/rhd_i2c.c
index ec62f7f..3129bf0 100644
--- a/src/rhd_i2c.c
+++ b/src/rhd_i2c.c
@@ -785,7 +785,8 @@ rhdRV620I2CStatus(I2CBusPtr I2CPtr)
RHDRegMask(I2CPtr, RV62_GENERIC_I2C_INTERRUPT_CONTROL, 0x2, 0xff);
if (!count
- || (val & (RV62_GENERIC_I2C_STOPPED_ON_NACK | RV62_GENERIC_I2C_NACK)))
+ || (val & (RV62_GENERIC_I2C_STOPPED_ON_NACK | RV62_GENERIC_I2C_NACK
+ | RV62_GENERIC_I2C_ABORTED | RV62_GENERIC_I2C_TIMEOUT)))
return FALSE; /* 2 */
return TRUE; /* 1 */