diff options
author | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2010-09-17 01:16:25 +0000 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2010-09-24 02:15:11 +0000 |
commit | 85c5702ac046b14713f776d59768252d8ed8018f (patch) | |
tree | 0ff48e27730361f9a6b87550766a31605e3cd5eb /drivers/video/via/via-core.c | |
parent | dbc28098248197e6b58f33ca0685f694a8e03e60 (diff) | |
download | talos-obmc-linux-85c5702ac046b14713f776d59768252d8ed8018f.tar.gz talos-obmc-linux-85c5702ac046b14713f776d59768252d8ed8018f.zip |
viafb: fix i2c_transfer error handling
i2c_transfer returns negative errno on error and number of messages
processed on success. Just returning this value would give a poor
interface as it is not obvious that you must compare with 2 after reading
1 or n bytes and with 1 after writing 1 byte to determine if it was
successful. To avoid this error prone interface convert the error code
of a successful read/write to zero and all other non-negative values to
an negative error code.
This fixes a regression introduced by
via: Rationalize vt1636 detection
which resulted in no longer detecting a VT1636 chip and therefore has
broken the output in configurations which contain this chip.
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Cc: Joseph Chan <JosephChan@via.com.tw>
Cc: stable@kernel.org
Diffstat (limited to 'drivers/video/via/via-core.c')
0 files changed, 0 insertions, 0 deletions