If we didn't satisfy all targets, reset the packet we are requesting with.
authorRon Dreslinski <rdreslin@umich.edu>
Tue, 14 Nov 2006 02:34:25 +0000 (21:34 -0500)
committerRon Dreslinski <rdreslin@umich.edu>
Tue, 14 Nov 2006 02:34:25 +0000 (21:34 -0500)
--HG--
extra : convert_revision : 736372131b046eccf3520292fb3c086dc568d918

src/mem/cache/miss/miss_queue.cc

index fe467a8ea07b5797d33f8c148fbc6747a3b4a9e1..3c45862725024bd236012f891008922c8fee649b 100644 (file)
@@ -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);