Add more atomicity in usb_serial_jtag.c; handle C6 in more places #9409
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
-- Some conditional checking for ESP32-C6 was missing.
-- Be more careful that ringbuf use in
usb_serial_jtag.c
is atomic.ringbuf_get()
is not atomic, for instance.I tried just leaving the
USB_SERIAL_JTAG_INTR_SERIAL_OUT_RECV_PKT
interrupt enabled all the time, which would have made the code simpler, but that did not work.This may fix some other reported flakiness, not sure.
Tested by writing larger files with Thonny to an
espressif_esp32c6_devkitc_1_n8
. That's the only C6 board I have right now.