diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index 8f7938b93..2be41642d 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -366,7 +366,7 @@ Cache::recvTimingSnoopResp(PacketPtr pkt) // must be cache-to-cache response from upper to lower level ForwardResponseRecord *rec = - dynamic_cast(pkt->popSenderState()); + dynamic_cast(pkt->senderState); assert(!system->bypassCaches()); if (rec == NULL) { @@ -379,6 +379,7 @@ Cache::recvTimingSnoopResp(PacketPtr pkt) return; } + pkt->popSenderState(); pkt->setDest(rec->prevSrc); delete rec; // @todo someone should pay for this