1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-04 02:52:22 +01:00

fix retry

This commit is contained in:
J. Nick Koston
2025-09-28 18:53:31 -05:00
parent a37cd67bc3
commit f2ee0195de

View File

@@ -382,9 +382,10 @@ TransferRequest *USBClient::get_trq_() {
trq->transfer->device_handle = this->device_handle_; trq->transfer->device_handle = this->device_handle_;
return trq; return trq;
} }
// Another thread claimed this slot, retry with updated mask // CAS failed - another thread modified the bitmask
// Don't increment i - retry the same slot with the updated mask // Restart search from the beginning with the updated mask
mask = expected; mask = this->trq_in_use_.load(std::memory_order_relaxed);
i = 0;
} }
ESP_LOGE(TAG, "All %d transfer slots in use", MAX_REQUESTS); ESP_LOGE(TAG, "All %d transfer slots in use", MAX_REQUESTS);