Просмотр исходного кода

Merge branch 'bugfix/i2c_too_short_panics_master' into 'master'

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

Closes IDFGH-6928

See merge request espressif/esp-idf!17455
Omar Chebib 3 лет назад
Родитель
Сommit
36e7adabac
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)) {