ARM: pl011 raw interrupt fix
authorChander Sudanthi <chander.sudanthi@arm.com>
Thu, 10 May 2012 23:04:28 +0000 (18:04 -0500)
committerChander Sudanthi <chander.sudanthi@arm.com>
Thu, 10 May 2012 23:04:28 +0000 (18:04 -0500)
Raw interrupt was not being set when interrupt was disabled.
This patch sets the raw interrupt regardless of the mask.

src/dev/arm/pl011.cc

index 2ab92c1db6ab4540d76cad7ccf41026696f46af1..4be7a5d905277cc3903879414284f92e020b7bcf 100644 (file)
@@ -185,9 +185,10 @@ Pl011::write(PacketPtr pkt)
 
         term->out(data & 0xFF);
 
+        //raw interrupt is set regardless of imsc.txim
+        rawInt.txim = 1;
         if (imsc.txim) {
             DPRINTF(Uart, "TX int enabled, scheduling interruptt\n");
-            rawInt.txim = 1;
             if (!intEvent.scheduled())
                 schedule(intEvent, curTick() + intDelay);
         }