If all the targets aren't satisfied, reinitialize the packet.

--HG--
extra : convert_revision : 5b0a977a162a1b881b97a3185fb386cc76632a4a
This commit is contained in:
Ron Dreslinski
2006-11-14 10:09:13 -05:00
parent 69623a892e
commit 21dc65bc47

View 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);