UART: make IRQ/ISR enabling simpler
Change-Id: Id3742850eb5bac91559e0c2b4144bd7b1ae5b07b
diff --git a/firmware/libboard/common/source/uart_console.c b/firmware/libboard/common/source/uart_console.c
index fe64922..9004197 100644
--- a/firmware/libboard/common/source/uart_console.c
+++ b/firmware/libboard/common/source/uart_console.c
@@ -150,16 +150,12 @@
}
/* Only store input if buffer is not full, else drop it */
- bool trigger_isr = false;
- if (rbuf_is_empty(&uart_tx_buffer)) {
- trigger_isr = true;
- }
if (!rbuf_is_full(&uart_tx_buffer)) {
rbuf_write(&uart_tx_buffer, c);
- }
- if (trigger_isr) {
- pUart->UART_IER = UART_IER_TXRDY;
- CONSOLE_ISR();
+ if (!(pUart->UART_IMR & UART_IMR_TXRDY)) {
+ pUart->UART_IER = UART_IER_TXRDY;
+ CONSOLE_ISR();
+ }
}
}