From 53bc5fddad6c8321e13cbb529fa065bf195a75cd Mon Sep 17 00:00:00 2001 From: bazooka joe Date: Tue, 17 Mar 2020 10:59:08 -0700 Subject: [PATCH] smbus return with error if failed transfer --- src/lib/drivers/smbus/SMBus.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/drivers/smbus/SMBus.cpp b/src/lib/drivers/smbus/SMBus.cpp index d1ebbbd8a4..9b95e1c999 100644 --- a/src/lib/drivers/smbus/SMBus.cpp +++ b/src/lib/drivers/smbus/SMBus.cpp @@ -98,6 +98,10 @@ int SMBus::block_read(const uint8_t cmd_code, void *data, const uint8_t length, int result = transfer(&cmd_code, 1, (uint8_t *)&rx_data[3], length + 2); + if (result != PX4_OK) { + return result; + } + uint8_t device_address = get_device_address(); rx_data[0] = (device_address << 1) | 0x00; rx_data[1] = cmd_code;