zephyr/drivers/serial
Thiago Silveira 05c45e359a drivers: serial: Fix race condition in nRF5 UART TX
Fix a somewhat rare race condition when the thread gets
preempted in the middle of sending a byte through UART.

If the other thread also sends another byte through UART
and "consumes" the EVENTS_TXDRDY value, the first thread
will get stuck in the while loop forever.

By moving the reset to the function start, we guarantee that
the baseline state of EVENTS_TXRDY is 1. Therefore, the first
thread will continue normally when it executes again.

Signed-off-by: Thiago Silveira <thiago@exati.com.br>
2018-05-16 18:10:03 +02:00
..
CMakeLists.txt drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files. 2018-05-15 17:48:18 +03:00
Kconfig serial: Add imx uart driver shim 2018-04-11 08:27:05 +02:00
Kconfig.altera_jtag kconfig: fix more help spacing issues 2018-02-15 23:20:55 -05:00
Kconfig.cc32xx
Kconfig.cmsdk_apb
Kconfig.esp32 kconfig: fix more help spacing issues 2018-02-15 23:20:55 -05:00
Kconfig.fe310
Kconfig.gecko
Kconfig.imx serial: Add imx uart driver shim 2018-04-11 08:27:05 +02:00
Kconfig.mcux serial: Refactor mcux uart shim driver to use clock control interface 2017-10-20 12:28:11 -05:00
Kconfig.mcux_lpc_usart lpc: Add usart shim driver for lpcxpresso54114 2018-01-23 09:18:32 -06:00
Kconfig.mcux_lpsci serial: Refactor mcux lpsci shim driver to use clock control interface 2017-10-20 12:28:11 -05:00
Kconfig.mcux_lpuart serial: Add another instance to the mcux lpuart driver 2017-11-15 09:09:58 -06:00
Kconfig.msp432p4xx drivers: serial: Add MSP-EXP432P401R UART 2017-10-19 12:16:11 -05:00
Kconfig.nrf5 arch: arm: nrf: Rename nrf5 SoC Family to nrf 2018-03-20 11:57:14 +01:00
Kconfig.ns16550 arch: arc: em{7,9,11}d: Add initial DTS UART support 2018-03-23 10:13:53 +01:00
Kconfig.nsim
Kconfig.qmsi
Kconfig.riscv_qemu kconfig: fix more help spacing issues 2018-02-15 23:20:55 -05:00
Kconfig.sam0 serial: add a serial driver for the SAM0 family. 2018-01-04 13:18:25 -05:00
Kconfig.stellaris kconfig: fix more help spacing issues 2018-02-15 23:20:55 -05:00
Kconfig.stm32 drivers: uart: stm32: make comments and options less specific 2018-03-21 15:40:55 -04:00
Kconfig.uart_sam serial: sam: add support for interrupt driven serial 2018-02-21 11:26:20 -06:00
Kconfig.usart_sam driver: usart: Added support for interrupt driver USART on SAM E70. 2018-03-10 11:42:25 -06:00
uart_altera_jtag_hal.c drivers: serial: Add Altera shim driver for JTAG UART soft IP 2017-11-17 07:46:40 -05:00
uart_cc32xx.c
uart_cmsdk_apb.c
uart_esp32.c
uart_fe310.c
uart_gecko.c
uart_handlers.c drivers: Perform a runtime check if a driver is capable of an operation 2018-04-26 02:57:12 +05:30
uart_imx.c serial: Add imx uart driver shim 2018-04-11 08:27:05 +02:00
uart_mcux.c serial: Refactor mcux uart shim driver to use clock control interface 2017-10-20 12:28:11 -05:00
uart_mcux_lpsci.c serial: Refactor mcux lpsci shim driver to use clock control interface 2017-10-20 12:28:11 -05:00
uart_mcux_lpuart.c serial: Add another instance to the mcux lpuart driver 2017-11-15 09:09:58 -06:00
uart_msp432p4xx.c drivers: serial: Add MSP-EXP432P401R UART 2017-10-19 12:16:11 -05:00
uart_nrf5.c drivers: serial: Fix race condition in nRF5 UART TX 2018-05-16 18:10:03 +02:00
uart_ns16550.c
uart_ns16550.h
uart_nsim.c
uart_qmsi.c uart_qmsi: fix possible divide-by-zero 2018-05-07 22:25:48 -04:00
uart_riscv_qemu.c
uart_sam.c serial: sam: add support for interrupt driven serial 2018-02-21 11:26:20 -06:00
uart_sam0.c serial: sam0: add samd20 support 2018-02-21 08:07:09 -06:00
uart_stellaris.c
uart_stm32.c drivers: uart: stm32: improve STM32L0 support 2018-03-21 15:40:55 -04:00
uart_stm32.h
usart_mcux_lpc.c ext: mcux: Reorganize imported drivers into soc family subfolders 2018-04-24 07:55:48 -05:00
usart_sam.c driver: usart: Added support for interrupt driver USART on SAM E70. 2018-03-10 11:42:25 -06:00