fru-device: fix return value of i2cSmbusWriteThenRead()
It had been returning the number of messages exchanged, not the number
of bytes received. At present this hasn't been causing any problems,
but some impending changes have some stricter requirements for the
return value of ReadBlockFunc functions that this wouldn't have matched.
Tested: on a Delta AHE-50DC, fru-device continued operating as before;
nothing broke.
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Change-Id: Ife23043218c719305bf014772f3be2a5acf7e192
diff --git a/src/FruDevice.cpp b/src/FruDevice.cpp
index 62d23c5..1c49974 100644
--- a/src/FruDevice.cpp
+++ b/src/FruDevice.cpp
@@ -245,7 +245,7 @@
int ret = ioctl(file, I2C_RDWR, &rdwr);
- return (ret == SMBUS_IOCTL_WRITE_THEN_READ_MSG_COUNT) ? ret : -1;
+ return (ret == SMBUS_IOCTL_WRITE_THEN_READ_MSG_COUNT) ? msgs[1].len : -1;
}
static int64_t readBlockData(int flag, int file, uint16_t address,