mirror of
https://github.com/espressif/esp-idf.git
synced 2026-07-14 15:03:03 +03:00
`i2c_master_isr_handler_default()` may set HPTaskAwoken to pdTRUE via `xQueueSendFromISR()` (event_queue), `xSemaphoreTakeFromISR()` and `xSemaphoreGiveFromISR()` on `bus_lock_mux`. When the device list lookup returns no matching device, the function returned directly, skipping the `portYIELD_FROM_ISR()` at the bottom of the handler. A higher- priority task waiting on the bus mux or the event queue would then have to wait for the next scheduler tick instead of being preempted into immediately, inflating worst-case event latency. Replace the early return with a goto to the existing yield check at the end of the ISR. Merges https://github.com/espressif/esp-idf/pull/18569