83c83
< device->recvAtomic(pkt);
---
> Tick latency = device->recvAtomic(pkt);
86c86
< sendTiming(pkt, pkt->time - pkt->req->getTime());
---
> sendTiming(pkt, latency);
146,158c146,154
< bool result = true;
< while (result && transmitList.size()) {
< DPRINTF(DMA, "Retry on Packet %#x with senderState: %#x\n",
< pkt, pkt->senderState);
< result = sendTiming(pkt);
< if (result) {
< DPRINTF(DMA, "-- Done\n");
< transmitList.pop_front();
< pendingCount--;
< assert(pendingCount >= 0);
< } else {
< DPRINTF(DMA, "-- Failed, queued\n");
< }
---
> DPRINTF(DMA, "Retry on Packet %#x with senderState: %#x\n",
> pkt, pkt->senderState);
> if (sendTiming(pkt)) {
> DPRINTF(DMA, "-- Done\n");
> transmitList.pop_front();
> pendingCount--;
> assert(pendingCount >= 0);
> } else {
> DPRINTF(DMA, "-- Failed, queued\n");
208c204
< if (transmitList.size() || !sendTiming(pkt)) {
---
> if (!sendTiming(pkt)) {