i2cdump: display the numeric value for block read ioctl() errors

This makes busybox i2cdump compatible with the upstream version, which
also displays the numeric error value in case of a block read failure.

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Bartosz Golaszewski 2015-10-27 17:15:05 +01:00 committed by Denys Vlasenko
parent 74bb9d5e63
commit 5ed6989d80

View File

@ -732,9 +732,11 @@ static int read_block_data(int buf_fd, int mode, int *block)
tmp = i2c_smbus_read_i2c_block_data(
buf_fd, res, I2C_SMBUS_BLOCK_MAX,
cblock + res);
if (tmp <= 0)
if (tmp <= 0) {
blen = tmp;
goto fail;
}
}
if (res >= I2CDUMP_NUM_REGS)
res = I2CDUMP_NUM_REGS;
@ -750,7 +752,7 @@ static int read_block_data(int buf_fd, int mode, int *block)
return blen;
fail:
bb_error_msg_and_die("block read failed");
bb_error_msg_and_die("block read failed: %d", blen);
}
/* Dump all but word data. */