summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelian Pop <stelian@popies.net>2007-05-08 17:22:02 +0200
committerJean Delvare <khali@hyperion.delvare>2007-05-08 17:22:02 +0200
commit63232dcd555d60d70ce8e09b53c8ef8e4a49a3f9 (patch)
tree75ee7e9fb6cc8e18ad129cbea8fdfba467c21251
parent2d8dd65fc14287f2c004dd755e517ba0f45d446e (diff)
downloadlinux-63232dcd555d60d70ce8e09b53c8ef8e4a49a3f9.tar.gz
linux-63232dcd555d60d70ce8e09b53c8ef8e4a49a3f9.tar.bz2
linux-63232dcd555d60d70ce8e09b53c8ef8e4a49a3f9.zip
hwmon/ams: Fix I2C read retry logic
Fix sleep and retry logic in ams-i2c. Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Jean Delvare <khali@linux-fr.org>
-rw-r--r--drivers/hwmon/ams/ams-i2c.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/hwmon/ams/ams-i2c.c b/drivers/hwmon/ams/ams-i2c.c
index 485d333bcb3e..5c70f2e3022e 100644
--- a/drivers/hwmon/ams/ams-i2c.c
+++ b/drivers/hwmon/ams/ams-i2c.c
@@ -85,17 +85,17 @@ static int ams_i2c_write(u8 reg, u8 value)
static int ams_i2c_cmd(enum ams_i2c_cmd cmd)
{
s32 result;
- int remaining = HZ / 20;
+ int count = 3;
ams_i2c_write(AMS_COMMAND, cmd);
- mdelay(5);
+ msleep(5);
- while (remaining) {
+ while (count--) {
result = ams_i2c_read(AMS_COMMAND);
if (result == 0 || result & 0x80)
return 0;
- remaining = schedule_timeout(remaining);
+ schedule_timeout_uninterruptible(HZ / 20);
}
return -1;