drivers: serial: nrf_uart: Disable uart when fifo_fill not used

Driver was failing when interrupt mode was enabled for given
instance but interrupt driven TX part was not used. In that
case uart was not disabled after sending a byte which resulted
in continuous interrupt triggering. Added check for
fifo_fill_lock which is set when uart_fifo_fill is used.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
Krzysztof Chruscinski 2021-05-10 14:19:11 +02:00 committed by Carles Cufí
commit 485f593bb7

View file

@ -241,7 +241,7 @@ static void uarte_nrfx_isr_int(void *arg)
#ifdef UARTE_INTERRUPT_DRIVEN #ifdef UARTE_INTERRUPT_DRIVEN
struct uarte_nrfx_data *data = get_dev_data(dev); struct uarte_nrfx_data *data = get_dev_data(dev);
if (!data->int_driven) if (!data->int_driven || data->int_driven->fifo_fill_lock == 0)
#endif #endif
{ {
nrf_uarte_int_disable(uarte, nrf_uarte_int_disable(uarte,