diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index b29d52f783..a56495abb2 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -1437,7 +1437,8 @@ Cache::getNextMSHR() PacketPtr pkt = prefetcher->getPacket(); if (pkt) { Addr pf_addr = blockAlign(pkt->getAddr()); - if (!tags->findBlock(pf_addr) && !mshrQueue.findMatch(pf_addr)) { + if (!tags->findBlock(pf_addr) && !mshrQueue.findMatch(pf_addr) && + !writeBuffer.findMatch(pf_addr)) { // Update statistic on number of prefetches issued // (hwpf_mshr_misses) mshr_misses[pkt->cmdToIndex()][0/*pkt->req->threadId()*/]++;