[Core] RP2040 disable PIO IRQs on serial timeout (#17839)
This commit is contained in:
parent
ade2eb1e75
commit
a204523bbb
1 changed files with 2 additions and 0 deletions
|
@ -206,6 +206,7 @@ static inline msg_t sync_tx(sysinterval_t timeout) {
|
||||||
pio_set_irq0_source_enabled(pio, pis_sm0_tx_fifo_not_full + tx_state_machine, true);
|
pio_set_irq0_source_enabled(pio, pis_sm0_tx_fifo_not_full + tx_state_machine, true);
|
||||||
msg = osalThreadSuspendTimeoutS(&tx_thread, timeout);
|
msg = osalThreadSuspendTimeoutS(&tx_thread, timeout);
|
||||||
if (msg < MSG_OK) {
|
if (msg < MSG_OK) {
|
||||||
|
pio_set_irq0_source_enabled(pio, pis_sm0_tx_fifo_not_full + tx_state_machine, false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -265,6 +266,7 @@ static inline msg_t sync_rx(sysinterval_t timeout) {
|
||||||
pio_set_irq0_source_enabled(pio, pis_sm0_rx_fifo_not_empty + rx_state_machine, true);
|
pio_set_irq0_source_enabled(pio, pis_sm0_rx_fifo_not_empty + rx_state_machine, true);
|
||||||
msg = osalThreadSuspendTimeoutS(&rx_thread, timeout);
|
msg = osalThreadSuspendTimeoutS(&rx_thread, timeout);
|
||||||
if (msg < MSG_OK) {
|
if (msg < MSG_OK) {
|
||||||
|
pio_set_irq0_source_enabled(pio, pis_sm0_rx_fifo_not_empty + rx_state_machine, false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue