Get rid of bogus bus assertion.
authorSteve Reinhardt <stever@gmail.com>
Fri, 13 Jun 2008 05:33:49 +0000 (01:33 -0400)
committerSteve Reinhardt <stever@gmail.com>
Fri, 13 Jun 2008 05:33:49 +0000 (01:33 -0400)
It runs out that if a MemObject turns around and does a send in its
receive callback, and there are other sends already scheduled, then
it could observe a state where it's not at the head of the list but
the bus's sendEvent is not scheduled (because we're still in the
middle of processing the prior sendEvent).

src/mem/tport.cc

index ad5e959095d0af6175675a258c3f540563c0ebf5..15c7fdf9f21c2eaa2529843d00a62fab09cd2dc5 100644 (file)
@@ -103,11 +103,6 @@ SimpleTimingPort::schedSendTiming(PacketPtr pkt, Tick when)
         return;
     }
 
-    // list is non-empty and this is not the head, so event should
-    // already be scheduled
-    assert(waitingOnRetry ||
-           (sendEvent->scheduled() && sendEvent->when() <= when));
-
     // list is non-empty & this belongs at the end
     if (when >= transmitList.back().tick) {
         transmitList.push_back(DeferredPacket(when, pkt));