It is observed that device read failed once in while when reading
temp from device. The next read success. To resolve the temp read fail
from device, return last temperature read from device.
bug
200006331
Change-Id: Ic305dbc013a44e71490b9c4defe752319cb22b44
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/413137
Reviewed-on: http://git-master/r/417766
int shutdown_complete;
int charge_complete;
struct mutex mutex;
+ int read_failed;
};
static int lc709203f_read_word(struct i2c_client *client, u8 reg)
val = lc709203f_read_word(chip->client, LC709203F_TEMPERATURE);
if (val < 0) {
+ chip->read_failed++;
dev_err(&chip->client->dev, "%s: err %d\n", __func__, val);
- return val;
+ if (chip->read_failed > 50)
+ return val;
+ return chip->temperature;
}
+ chip->read_failed = 0;;
chip->temperature = val;
return val;
}