From 5ed6989d805535804fcd05ddc777fbae48d21f3a Mon Sep 17 00:00:00 2001
From: Bartosz Golaszewski <bartekgola@gmail.com>
Date: Tue, 27 Oct 2015 17:15:05 +0100
Subject: 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>
---
 miscutils/i2c_tools.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

(limited to 'miscutils/i2c_tools.c')

diff --git a/miscutils/i2c_tools.c b/miscutils/i2c_tools.c
index 7be489036..e19d851fe 100644
--- a/miscutils/i2c_tools.c
+++ b/miscutils/i2c_tools.c
@@ -732,8 +732,10 @@ 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)
@@ -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. */
-- 
cgit v1.2.3-55-g6feb