diff -r 64bdec4e6c03 -r 020570e15cfa src/mem/cache/base.cc --- a/src/mem/cache/base.cc Thu Mar 14 14:07:56 2013 +0000 +++ b/src/mem/cache/base.cc Thu Mar 14 14:09:53 2013 +0000 @@ -88,6 +88,13 @@ assert(!blocked); DPRINTF(CachePort, "Cache port %s blocking new requests\n", name()); blocked = true; + // if we already scheduled a retry in this cycle, but it has not yet + // happened, cancel it + if (sendRetryEvent.scheduled()) { + owner.deschedule(sendRetryEvent); + DPRINTF(CachePort, "Cache port %s deschedule retry\n", name()); + mustSendRetry = true; + } } void