#undef CFG_TUSB_OS
#define CFG_TUSB_OS OPT_OS_NONE
in tusb_config.h, which disables the spinlocks in tud_task() on RP2350 but lets atomics remain fully functional. Not sure what a proper upstream fix would look like which handles all multicore TinyUSB use cases
The original reason I hit this was that tud_task() locks and unlocks a pico-sdk spinlock when it reads the event queue. For rp2350, the spinlocks are implemented with ldaexb/strexb.
The original reason I hit this was that tud_task() locks and unlocks a pico-sdk spinlock when it reads the event queue. For rp2350, the spinlocks are implemented with ldaexb/strexb.