Skip to content

Add more atomicity in usb_serial_jtag.c; handle C6 in more places #9409

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 8, 2024

Conversation

dhalbert
Copy link
Collaborator

@dhalbert dhalbert commented Jul 6, 2024


-- 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.

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! Thank you!

@tannewt tannewt merged commit 4ebd5f5 into adafruit:main Jul 8, 2024
205 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sending files to esp32c6 boards fails almost 100% of the time.
2 participants