diff --git a/components/storage/blockdevice/COMPONENT_I2CEE/I2CEEBlockDevice.cpp b/components/storage/blockdevice/COMPONENT_I2CEE/I2CEEBlockDevice.cpp index 42bbce7c96..93aab7ae76 100644 --- a/components/storage/blockdevice/COMPONENT_I2CEE/I2CEEBlockDevice.cpp +++ b/components/storage/blockdevice/COMPONENT_I2CEE/I2CEEBlockDevice.cpp @@ -68,7 +68,9 @@ int I2CEEBlockDevice::read(void *buffer, bd_addr_t addr, bd_size_t size) _i2c->stop(); - if (_i2c->read(_i2c_addr, static_cast(buffer), size) < 0) { + _sync(); + + if (0 != _i2c->read(_i2c_addr, static_cast(buffer), size)) { return BD_ERROR_DEVICE_ERROR; }