summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorChris Verges <kg4ysn@gmail.com>2012-12-21 01:58:34 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-17 08:46:22 -0800
commit08d73254896be6d2dfa26df0a599424984ecb8c7 (patch)
tree2db85e7a54ae289dd4e3be9089e661fdab1225ae /include/uapi
parent77114d247c1e4b7f14ca5ffec27d49e9ec95d90a (diff)
hwmon: (lm73} Detect and report i2c bus errors
commit 0602934f302e016e2ea5dc6951681bfac77455ef upstream. If an LM73 device does not exist on an I2C bus, attempts to communicate with the device result in an error code returned from the i2c read/write functions. The current lm73 driver casts that return value from a s32 type to a s16 type, then converts it to a temperature in celsius. Because negative temperatures are valid, it is difficult to distinguish between an error code printed to the response buffer and a negative temperature recorded by the sensor. The solution is to evaluate the return value from the i2c functions before performing any temperature calculations. If the i2c function did not succeed, the error code should be passed back through the virtual file system layer instead of being printed into the response buffer. Before: $ cat /sys/class/hwmon/hwmon0/device/temp1_input -46 After: $ cat /sys/class/hwmon/hwmon0/device/temp1_input cat: read error: No such device or address Signed-off-by: Chris Verges <kg4ysn@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/uapi')
0 files changed, 0 insertions, 0 deletions