2
0
mirror of https://github.com/lm-sensors/lm-sensors synced 2025-09-03 07:45:30 +00:00

Properly handle short i2c block reads.

git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@3048 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare
2005-08-08 19:09:32 +00:00
parent cddd9a51f5
commit 4da4861017

View File

@@ -62,7 +62,7 @@ void help(void)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
char *end; char *end;
int i, j, res, res2, i2cbus, address, size, file; int i, j, res, i2cbus, address, size, file;
int bank = 0, bankreg = 0x4E; int bank = 0, bankreg = 0x4E;
char filename[20]; char filename[20];
long funcs; long funcs;
@@ -361,13 +361,11 @@ int main(int argc, char *argv[])
cblock); cblock);
} else { } else {
#if USE_I2C_BLOCK #if USE_I2C_BLOCK
res = 0; for (res = 0; res < 256; res += i) {
for (i = 0; i < 256; i+=32) { i = i2c_smbus_read_i2c_block_data(file,
res2 = i2c_smbus_read_i2c_block_data(file, res, cblock + res);
i, cblock+i); if (i <= 0)
if (res2 <= 0)
break; break;
res += res2;
} }
#else #else
fprintf(stderr, "Error: I2C block read " fprintf(stderr, "Error: I2C block read "