Couldn't find the thread, but there was some discussion about how i2c-core returns failures as -1 and the chip drivers just take that, cast it to a u8, and that gets converted by libsensors and reported as the value. Also I think that adm1021 was a driver that tended to get intermittent errors. So I took adm1021 and modified update_client to return the old value if the read failed, as a demonstration. Comments welcome. This behavior or something similar should be our practice going forward for non-ISA chip drivers. mds