diff --git a/tests/drivers/uart/uart_basic_api/src/test_uart_fifo.c b/tests/drivers/uart/uart_basic_api/src/test_uart_fifo.c index d9cc76e5e26..e247b1671db 100644 --- a/tests/drivers/uart/uart_basic_api/src/test_uart_fifo.c +++ b/tests/drivers/uart/uart_basic_api/src/test_uart_fifo.c @@ -110,6 +110,8 @@ static int test_fifo_read(void) data_received = false; while (data_received == false) { + /* Allow other thread/workqueue to work. */ + k_yield(); } /* Verify uart_irq_rx_disable() */ diff --git a/tests/drivers/uart/uart_basic_api/src/test_uart_pending.c b/tests/drivers/uart/uart_basic_api/src/test_uart_pending.c index fd6981ee197..db8d1ec6983 100644 --- a/tests/drivers/uart/uart_basic_api/src/test_uart_pending.c +++ b/tests/drivers/uart/uart_basic_api/src/test_uart_pending.c @@ -124,6 +124,8 @@ static int test_pending(void) TC_PRINT("Please send characters to serial console\n"); while (status == WAIT) { + /* Allow other thread/workqueue to work. */ + k_yield(); /* * Wait RX handler change 'status' properly: * it will change to PASSED or FAILED after diff --git a/tests/drivers/uart/uart_basic_api/src/test_uart_poll.c b/tests/drivers/uart/uart_basic_api/src/test_uart_poll.c index 719499b2e3d..27471542139 100644 --- a/tests/drivers/uart/uart_basic_api/src/test_uart_poll.c +++ b/tests/drivers/uart/uart_basic_api/src/test_uart_poll.c @@ -23,6 +23,8 @@ static int test_poll_in(void) /* Verify uart_poll_in() */ while (1) { while (uart_poll_in(uart_dev, &recv_char) < 0) { + /* Allow other thread/workqueue to work. */ + k_yield(); } TC_PRINT("%c", recv_char);