tinyvision-ai-inc/pico-ice-sdk

USB hangs if receiving UART stream over 10kB/s

Opened this issue · 2 comments

I don't know the details yet, but it spams error -71 in dmesg. Will investigate with picoprobe later.

The bug is related to UART incoming characters interrupts flushing the input while the mutex is locked by some other function (particularly by another flush).

Stacktrace screenshot from when the adapter becomes unresponsive:

image

Thank you for tracing this down! Indeed, since the OSAL calls a mutex through the RP2040, this cannot be used in IRQ.
I will discuss on the draft pull request.