diff --git a/drivers/avr/i2c_master.c b/drivers/avr/i2c_master.c index d97a35cd6..0db949db4 100755 --- a/drivers/avr/i2c_master.c +++ b/drivers/avr/i2c_master.c @@ -140,7 +140,7 @@ i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16 i2c_stop(); - return status; + return (status < 0) ? status : I2C_STATUS_SUCCESS; } i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) { @@ -188,7 +188,7 @@ i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16 error: i2c_stop(); - return status; + return (status < 0) ? status : I2C_STATUS_SUCCESS; } void i2c_stop(void) {