diff options
Diffstat (limited to 'src/mem/bus.cc')
-rw-r--r-- | src/mem/bus.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mem/bus.cc b/src/mem/bus.cc index 8040118d2..648b66f4d 100644 --- a/src/mem/bus.cc +++ b/src/mem/bus.cc @@ -218,7 +218,10 @@ BaseBus::retryWaiting() // note that we might have blocked on the receiving port being // busy (rather than the bus itself) and now call retry before the // destination called retry on the bus - retryList.front()->sendRetry(); + if (dynamic_cast<SlavePort*>(retryList.front()) != NULL) + (dynamic_cast<SlavePort*>(retryList.front()))->sendRetry(); + else + (dynamic_cast<MasterPort*>(retryList.front()))->sendRetry(); // If inRetry is still true, sendTiming wasn't called in zero time // (e.g. the cache does this) |