diff options
Diffstat (limited to 'src/mem/tport.cc')
-rw-r--r-- | src/mem/tport.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/mem/tport.cc b/src/mem/tport.cc index 350b4c8e3..55a461a8b 100644 --- a/src/mem/tport.cc +++ b/src/mem/tport.cc @@ -33,12 +33,10 @@ void SimpleTimingPort::recvFunctional(PacketPtr pkt) { - //First check queued events std::list<PacketPtr>::iterator i = transmitList.begin(); std::list<PacketPtr>::iterator end = transmitList.end(); - bool cont = true; - while (i != end && cont) { + while (i != end) { PacketPtr target = *i; // If the target contains data, and it overlaps the // probed request, need to update data @@ -46,8 +44,9 @@ SimpleTimingPort::recvFunctional(PacketPtr pkt) fixPacket(pkt, target); } + //Then just do an atomic access and throw away the returned latency - if (cont) + if (pkt->result != Packet::Success) recvAtomic(pkt); } |