From 37932c229b8ac6ba7904f7407d2c1dadef2a1ce1 Mon Sep 17 00:00:00 2001 From: Marcus Chang Date: Fri, 30 Mar 2018 08:45:13 -0700 Subject: [PATCH] Fix off-by-one error in NRF52 serial implementation --- targets/TARGET_NORDIC/TARGET_NRF5x/serial_api.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/targets/TARGET_NORDIC/TARGET_NRF5x/serial_api.c b/targets/TARGET_NORDIC/TARGET_NRF5x/serial_api.c index faa11c9e732..b9807f244a5 100644 --- a/targets/TARGET_NORDIC/TARGET_NRF5x/serial_api.c +++ b/targets/TARGET_NORDIC/TARGET_NRF5x/serial_api.c @@ -1104,7 +1104,8 @@ void serial_free(serial_t *obj) int instance = uart_object->instance; - if (nordic_nrf5_uart_state[instance].usage_counter > 1) { + /* Only consider disabling UARTE if number of users is not zero. */ + if (nordic_nrf5_uart_state[instance].usage_counter > 0) { /* Decrement usage counter for this instance. */ nordic_nrf5_uart_state[instance].usage_counter--;