hwmon: (abituguru3) Fix I/O error handling
Fix a logic bug reported by Roel Kluin, by rewriting the error handling code in a clearer way. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Roel Kluin <roel.kluin@gmail.com> Acked-by: Alistair John Strachan <alistair@devzero.co.uk> Acked-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
ebdcc81c71
commit
3bb9db7923
1 changed files with 5 additions and 2 deletions
|
@ -760,8 +760,11 @@ static int abituguru3_read_increment_offset(struct abituguru3_data *data,
|
|||
|
||||
for (i = 0; i < offset_count; i++)
|
||||
if ((x = abituguru3_read(data, bank, offset + i, count,
|
||||
buf + i * count)) != count)
|
||||
return i * count + (i && (x < 0)) ? 0 : x;
|
||||
buf + i * count)) != count) {
|
||||
if (x < 0)
|
||||
return x;
|
||||
return i * count + x;
|
||||
}
|
||||
|
||||
return i * count;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue