summaryrefslogtreecommitdiff
path: root/firmware/src/simtrace/iso7816_uart.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/src/simtrace/iso7816_uart.c')
-rw-r--r--firmware/src/simtrace/iso7816_uart.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/firmware/src/simtrace/iso7816_uart.c b/firmware/src/simtrace/iso7816_uart.c
index 67f8e0d..f30977a 100644
--- a/firmware/src/simtrace/iso7816_uart.c
+++ b/firmware/src/simtrace/iso7816_uart.c
@@ -530,7 +530,16 @@ static __ramfunc void usart_irq(void)
}
if (csr & (AT91C_US_PARE|AT91C_US_FRAME|AT91C_US_OVRE)) {
+ u_int8_t nb_err = usart->US_NER;
/* FIXME: some error has occurrerd */
+ //DEBUGP("NER=%02x ", nb_err);
+ /* clear the status */
+ usart->US_CR |= AT91C_US_RSTSTA;
+ }
+
+ if (csr & AT91C_US_INACK) {
+ /* we would have sent a NACK if INACK was not set */
+ usart->US_CR |= AT91C_US_RSTNACK;
}
}
personal git repositories of Harald Welte. Your mileage may vary