summaryrefslogtreecommitdiffstats
path: root/drivers/misc/apds9802als.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2012-11-16 17:17:50 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-11-16 04:53:08 -0800
commit644a9d3b66e6983c2c1f3b24c3006d49b184c871 (patch)
treeb4861582f20654cdb0b76989295bdf55bf842db6 /drivers/misc/apds9802als.c
parentebf1b764aa5cb3b4bfe2e96674f1b559f7c37e64 (diff)
misc: apds9802als: Fix the logic checking timeout in als_wait_for_data_ready()
In the case of timeout waiting for data ready, the retry variable is -1. This also fixes a bug: current code returns -ETIMEDOUT if latest retry success ( which means retry is 0 when exiting the while loop ). Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/apds9802als.c')
-rw-r--r--drivers/misc/apds9802als.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/misc/apds9802als.c b/drivers/misc/apds9802als.c
index 0314773f6db..94923d25991 100644
--- a/drivers/misc/apds9802als.c
+++ b/drivers/misc/apds9802als.c
@@ -68,7 +68,7 @@ static int als_wait_for_data_ready(struct device *dev)
ret = i2c_smbus_read_byte_data(client, 0x86);
} while (!(ret & 0x80) && retry--);
- if (!retry) {
+ if (retry < 0) {
dev_warn(dev, "timeout waiting for data ready\n");
return -ETIMEDOUT;
}