The Count to zero flag (STAT_TC) must not be cleared after an Interrupt Status
register read.

Signed-off-by: Olivier Danet <[email protected]>
---
 hw/esp.c     2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/esp.c b/hw/esp.c
index fa9d2a2..90bfdc6 100644
--- a/hw/esp.c
+++ b/hw/esp.c
@@ -525,9 +525,9 @@ static uint32_t esp_mem_readb(void *opaque, 
target_phys_addr_t addr)
            except TC */
         old_val = s->rregs[ESP_RINTR];
         s->rregs[ESP_RINTR] = 0;
-        s->rregs[ESP_RSTAT] &= ~STAT_TC;
         s->rregs[ESP_RSEQ] = SEQ_CD;
         esp_lower_irq(s);
+        s->rregs[ESP_RSTAT] &= STAT_TC  STAT_MI;
 
         return old_val;
     default:
-- 
1.6.2.4


Reply via email to