From da15ca01bf16dfb5741f8953d437d038144b8de9 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 17 Mar 2016 21:14:04 +0100 Subject: [PATCH] mode_cardemu: mask the USART status register with mask register otherwise it might be reacting on stale bits in CSR, which actually are no longer able to cause any interrupts. --- firmware/src_simtrace/mode_cardemu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/src_simtrace/mode_cardemu.c b/firmware/src_simtrace/mode_cardemu.c index ece4da8c..e51e9905 100644 --- a/firmware/src_simtrace/mode_cardemu.c +++ b/firmware/src_simtrace/mode_cardemu.c @@ -145,7 +145,7 @@ void usart_irq_rx(uint8_t uart) if (uart == 1) ci = &cardem_inst[1]; #endif - csr = usart->US_CSR; + csr = usart->US_CSR & usart->US_IMR; if (csr & US_CSR_RXRDY) { byte = (usart->US_RHR) & 0xFF;