diff --git a/components/driver/i2c.c b/components/driver/i2c.c index e7bb2e9683..2a59b2b2bc 100644 --- a/components/driver/i2c.c +++ b/components/driver/i2c.c @@ -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;