undo my previous bus change, it can make the bus deadlock.. so it still constantly reschedules itself
--HG-- extra : convert_revision : b5ef1aa0a6a2e32bd775d2dbcad9cd9505ad9b78
This commit is contained in:
parent
3c608bf765
commit
ff55888575
|
@ -171,8 +171,9 @@ bool
|
|||
Bus::recvTiming(PacketPtr pkt)
|
||||
{
|
||||
Port *port;
|
||||
DPRINTF(Bus, "recvTiming: packet src %d dest %d addr 0x%x cmd %s\n",
|
||||
pkt->getSrc(), pkt->getDest(), pkt->getAddr(), pkt->cmdString());
|
||||
DPRINTF(Bus, "recvTiming: packet src %d dest %d addr 0x%x cmd %s result %d\n",
|
||||
pkt->getSrc(), pkt->getDest(), pkt->getAddr(), pkt->cmdString(),
|
||||
pkt->result);
|
||||
|
||||
BusPort *pktPort;
|
||||
if (pkt->getSrc() == defaultId)
|
||||
|
@ -272,7 +273,6 @@ Bus::recvRetry(int id)
|
|||
retryList.pop_front();
|
||||
inRetry = false;
|
||||
|
||||
if (id != -1) {
|
||||
//Bring tickNextIdle up to the present
|
||||
while (tickNextIdle < curTick)
|
||||
tickNextIdle += clock;
|
||||
|
@ -280,12 +280,7 @@ Bus::recvRetry(int id)
|
|||
//Burn a cycle for the missed grant.
|
||||
tickNextIdle += clock;
|
||||
|
||||
if (!busIdle.scheduled()) {
|
||||
busIdle.schedule(tickNextIdle);
|
||||
} else {
|
||||
busIdle.reschedule(tickNextIdle);
|
||||
}
|
||||
} // id != -1
|
||||
busIdle.reschedule(tickNextIdle, true);
|
||||
}
|
||||
}
|
||||
//If we weren't able to drain before, we might be able to now.
|
||||
|
|
Loading…
Reference in a new issue