diff --git a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst index 912cf6f5e16..8ed104fa1d5 100644 --- a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst +++ b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst @@ -409,6 +409,8 @@ Drivers This section provides detailed lists of changes by :ref:`driver `. +* Fixed an issue where the low power UART may fail after a reset if the reset occurs during transmission. + Wi-Fi drivers ------------- diff --git a/drivers/serial/uart_nrf_sw_lpuart.c b/drivers/serial/uart_nrf_sw_lpuart.c index 3956cb88721..24142049ab8 100644 --- a/drivers/serial/uart_nrf_sw_lpuart.c +++ b/drivers/serial/uart_nrf_sw_lpuart.c @@ -992,7 +992,7 @@ static void api_irq_rx_enable(const struct device *dev) struct lpuart_data *data = get_dev_data(dev); data->int_driven.rx_enabled = true; - if (int_driven_rd_available(data)) { + if (int_driven_rd_available(data) || data->rx_state == RX_BLOCKED) { /* We need to move to the interrupt context of the same priority as UARTE. */ k_timer_start(&data->int_driven.trampoline_timer, K_NO_WAIT, K_NO_WAIT); }