IO: Fix bug in DMA Device where receiving a snoop on DMA port would cause a panic. stable_2012_02_02
authorAli Saidi <saidi@eecs.umich.edu>
Thu, 15 Dec 2011 05:09:46 +0000 (00:09 -0500)
committerAli Saidi <saidi@eecs.umich.edu>
Thu, 15 Dec 2011 05:09:46 +0000 (00:09 -0500)
--HG--
extra : rebase_source : 8152d4fa7d7354c9f150a450ae0710e95141ba4b

src/dev/io_device.cc

index 5c13b50912ef7348c7bef3d1a297be7290c8c731..dab1f766e07299d3e7196556866ba15a47d64a6e 100644 (file)
@@ -142,13 +142,9 @@ DmaPort::recvTiming(PacketPtr pkt)
 
         pkt->reinitNacked();
         queueDma(pkt, true);
+    } else if (pkt->isRequest() && recvSnoops) {
+        return true; 
     } else if (pkt->senderState) {
-        if (recvSnoops) {
-            if (pkt->isRequest()) {
-                return true;
-            }
-        }
-
         DmaReqState *state;
         backoffTime >>= 2;