summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2006-11-13 21:34:25 -0500
committerRon Dreslinski <rdreslin@umich.edu>2006-11-13 21:34:25 -0500
commit69e183941fcc6ffec9f5766e4144f6b772e9a11c (patch)
treef4ef5e0a83f9ad4c8a4f1979f1e97d7566c0efa2 /src
parent9b6fd56dd5700e29904ab03f445eafe4fcba7853 (diff)
downloadgem5-69e183941fcc6ffec9f5766e4144f6b772e9a11c.tar.xz
If we didn't satisfy all targets, reset the packet we are requesting with.
--HG-- extra : convert_revision : 736372131b046eccf3520292fb3c086dc568d918
Diffstat (limited to 'src')
-rw-r--r--src/mem/cache/miss/miss_queue.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mem/cache/miss/miss_queue.cc b/src/mem/cache/miss/miss_queue.cc
index fe467a8ea..3c4586272 100644
--- a/src/mem/cache/miss/miss_queue.cc
+++ b/src/mem/cache/miss/miss_queue.cc
@@ -612,6 +612,8 @@ MissQueue::handleResponse(PacketPtr &pkt, Tick time)
if (mshr->hasTargets()) {
// Didn't satisfy all the targets, need to resend
Packet::Command cmd = mshr->getTarget()->cmd;
+ mshr->pkt->setDest(Packet::Broadcast);
+ mshr->pkt->result = Packet::Unknown;
mq.markPending(mshr, cmd);
mshr->order = order++;
cache->setMasterRequest(Request_MSHR, time);