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>
This commit is contained in:
Stelian Pop 2007-05-08 17:22:02 +02:00 committed by Jean Delvare
parent 2d8dd65fc1
commit 63232dcd55
1 changed files with 4 additions and 4 deletions

View File

@ -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;