If we didn't satisfy all targets, reset the packet we are requesting with.

--HG--
extra : convert_revision : 736372131b046eccf3520292fb3c086dc568d918
This commit is contained in:
Ron Dreslinski 2006-11-13 21:34:25 -05:00
parent 9b6fd56dd5
commit 69e183941f

View file

@ -612,6 +612,8 @@ MissQueue::handleResponse(PacketPtr &pkt, Tick time)
if (mshr->hasTargets()) { if (mshr->hasTargets()) {
// Didn't satisfy all the targets, need to resend // Didn't satisfy all the targets, need to resend
Packet::Command cmd = mshr->getTarget()->cmd; Packet::Command cmd = mshr->getTarget()->cmd;
mshr->pkt->setDest(Packet::Broadcast);
mshr->pkt->result = Packet::Unknown;
mq.markPending(mshr, cmd); mq.markPending(mshr, cmd);
mshr->order = order++; mshr->order = order++;
cache->setMasterRequest(Request_MSHR, time); cache->setMasterRequest(Request_MSHR, time);