I2C: Fix I2C Master operation with repeated start condition

* Closes https://github.com/espressif/esp-idf/pull/8353
This commit is contained in:
Dmitry Koptsov 2022-02-05 09:33:16 +03:00 committed by Omar Chebib
parent e6c0d1e481
commit 57716e3d86

View File

@ -1335,7 +1335,9 @@ static void IRAM_ATTR i2c_master_cmd_begin_static(i2c_port_t i2c_num)
p_i2c->cmd_idx = 0;
if (i2c_cmd_is_single_byte(cmd) || cmd->total_bytes == cmd->bytes_used) {
p_i2c->cmd_link.head = p_i2c->cmd_link.head->next;
p_i2c->cmd_link.head->cmd.bytes_used = 0;
if(p_i2c->cmd_link.head) {
p_i2c->cmd_link.head->cmd.bytes_used = 0;
}
}
p_i2c->status = I2C_STATUS_WRITE;
break;