[git commit] i2cdump: don't read block data in non-block modes

Denys Vlasenko vda.linux at googlemail.com
Sun Nov 1 19:55:09 UTC 2015


commit: http://git.busybox.net/busybox/commit/?id=1cde5f79d4c077cd6a2a8998a9180dfcc2800852
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

We currently read data twice in byte mode. Add a check to avoid calling
i2c_smbus_read_i2c_block_data() if we're not in I2C or SMBus block mode.

Signed-off-by: Bartosz Golaszewski <bartekgola at gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 miscutils/i2c_tools.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/miscutils/i2c_tools.c b/miscutils/i2c_tools.c
index 907d738..094bf9e 100644
--- a/miscutils/i2c_tools.c
+++ b/miscutils/i2c_tools.c
@@ -971,7 +971,8 @@ int i2cdump_main(int argc UNUSED_PARAM, char **argv)
 
 	/* All but word data. */
 	if (mode != I2C_SMBUS_WORD_DATA || even) {
-		blen = read_block_data(fd, mode, block);
+		if (mode == I2C_SMBUS_BLOCK_DATA || mode == I2C_SMBUS_I2C_BLOCK_DATA)
+			blen = read_block_data(fd, mode, block);
 
 		if (mode == I2C_SMBUS_BYTE) {
 			res = i2c_smbus_write_byte(fd, first);


More information about the busybox-cvs mailing list