diff options
Diffstat (limited to 'src/mem/bus.cc')
-rw-r--r-- | src/mem/bus.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mem/bus.cc b/src/mem/bus.cc index 518c9dbfa..cb359734b 100644 --- a/src/mem/bus.cc +++ b/src/mem/bus.cc @@ -180,7 +180,7 @@ Bus::recvTiming(PacketPtr pkt) // If the bus is busy, or other devices are in line ahead of the current // one, put this device on the retry list. - if (!(pkt->isResponse() || pkt->isExpressSnoop()) && + if (!pkt->isExpressSnoop() && (tickNextIdle > curTick || (retryList.size() && (!inRetry || src_port != retryList.front())))) { @@ -189,7 +189,9 @@ Bus::recvTiming(PacketPtr pkt) return false; } - occupyBus(pkt); + if (!pkt->isExpressSnoop()) { + occupyBus(pkt); + } short dest = pkt->getDest(); int dest_port_id; |