85c85,88
< MSHR *mshr = dynamic_cast<MSHR*>(pkt->senderState);
---
> // Iterate over the SenderState stack and see if we find
> // an MSHR entry. If we do, set the downstreamPending
> // flag. Otherwise, do nothing.
> MSHR *mshr = pkt->findNextSenderState<MSHR>();
133c136,142
< MSHR *mshr = dynamic_cast<MSHR*>(i->pkt->senderState);
---
> // Iterate over the SenderState stack and see if we find
> // an MSHR entry. If we find one, clear the
> // downstreamPending flag by calling
> // clearDownstreamPending(). This recursively clears the
> // downstreamPending flag in all caches this packet has
> // passed through.
> MSHR *mshr = i->pkt->findNextSenderState<MSHR>();