rp2/cyw43_configport: Make sure only core0 executes a __WFI().
This commit executes __WFI() on core 0 only to avoid core1 locking up since it doesn't enable any interrupts by default (except for `SIO_IRQ_PROC1`). This fixes a lockup when calling `cyw43_do_ioctl` from core1. Fixes issue #9597.
This commit is contained in:
parent
d68e3b03b1
commit
345f1d2395
@ -47,8 +47,15 @@
|
||||
#define CYW43_THREAD_EXIT MICROPY_PY_LWIP_EXIT
|
||||
#define CYW43_THREAD_LOCK_CHECK
|
||||
|
||||
#define CYW43_SDPCM_SEND_COMMON_WAIT __WFI();
|
||||
#define CYW43_DO_IOCTL_WAIT __WFI();
|
||||
#define CYW43_SDPCM_SEND_COMMON_WAIT \
|
||||
if (get_core_num() == 0) { \
|
||||
__WFI(); \
|
||||
} \
|
||||
|
||||
#define CYW43_DO_IOCTL_WAIT \
|
||||
if (get_core_num() == 0) { \
|
||||
__WFI(); \
|
||||
} \
|
||||
|
||||
#define CYW43_ARRAY_SIZE(a) MP_ARRAY_SIZE(a)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user