bus: add assertion to catch illegal retry
authorSteve Reinhardt <steve.reinhardt@amd.com>
Sun, 4 Oct 2009 01:07:39 +0000 (18:07 -0700)
committerSteve Reinhardt <steve.reinhardt@amd.com>
Sun, 4 Oct 2009 01:07:39 +0000 (18:07 -0700)
on mem-inhibited transaction.

src/mem/bus.cc

index 001c37a2458fb6ac485f3121ac17cc48b62d2295..cac08d1a81c931c3cfd961fd3e9d5634db135afb 100644 (file)
@@ -244,6 +244,9 @@ Bus::recvTiming(PacketPtr pkt)
             // Packet not successfully sent. Leave or put it on the retry list.
             // illegal to block responses... can lead to deadlock
             assert(!pkt->isResponse());
+            // It's also illegal to force a transaction to retry after
+            // someone else has committed to respond.
+            assert(!pkt->memInhibitAsserted());
             DPRINTF(Bus, "recvTiming: src %d dst %d %s 0x%x TGT RETRY\n",
                     src, pkt->getDest(), pkt->cmdString(), pkt->getAddr());
             addToRetryList(src_port);