diff options
-rw-r--r-- | src/mem/simple_dram.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mem/simple_dram.cc b/src/mem/simple_dram.cc index 340a57088..90517ec62 100644 --- a/src/mem/simple_dram.cc +++ b/src/mem/simple_dram.cc @@ -396,8 +396,11 @@ SimpleDRAM::processWriteEvent() } // Once you're done emptying the write queue, check if there's - // anything in the read queue, and call schedule if required - schedule(nextReqEvent, busBusyUntil); + // anything in the read queue, and call schedule if required. The + // retry above could already have caused it to be scheduled, so + // first check + if (!nextReqEvent.scheduled()) + schedule(nextReqEvent, busBusyUntil); } void |