浏览代码

I2C: Read transactions, without a STOP, won't panic anymore

* Closes https://github.com/espressif/esp-idf/issues/8548
Omar Chebib 3 年之前
父节点
当前提交
5bd4decad1
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      components/driver/i2c.c

+ 3 - 1
components/driver/i2c.c

@@ -1310,7 +1310,9 @@ static void IRAM_ATTR i2c_master_cmd_begin_static(i2c_port_t i2c_num)
             p_i2c->cmd_idx = 0;
         } else {
             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 != NULL) {
+                p_i2c->cmd_link.head->cmd.bytes_used = 0;
+            }
         }
     } else if ((p_i2c->status == I2C_STATUS_ACK_ERROR)
                || (p_i2c->status == I2C_STATUS_TIMEOUT)) {