summaryrefslogtreecommitdiff
path: root/src/mem/simple_dram.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/simple_dram.cc')
-rw-r--r--src/mem/simple_dram.cc7
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