summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2006-11-14 10:09:13 -0500
committerRon Dreslinski <rdreslin@umich.edu>2006-11-14 10:09:13 -0500
commit21dc65bc47d4e3572c4aa60b9327047687a77210 (patch)
treeb6c05a86e22882cdb97599a6346d2fcc0c478207 /src
parent69623a892edbaddc8d68a98766ef09b421ac4ce6 (diff)
downloadgem5-21dc65bc47d4e3572c4aa60b9327047687a77210.tar.xz
If all the targets aren't satisfied, reinitialize the packet.
--HG-- extra : convert_revision : 5b0a977a162a1b881b97a3185fb386cc76632a4a
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);