diff -r 7a06a6137e0c -r c34d370e2fca src/cpu/simple/timing.cc --- a/src/cpu/simple/timing.cc Thu Jan 06 15:29:55 2011 -0800 +++ b/src/cpu/simple/timing.cc Thu Jan 06 15:30:24 2011 -0800 @@ -325,26 +325,26 @@ pkt1->makeResponse(); completeDataAccess(pkt1); } else if (read) { + SplitFragmentSenderState * send_state = + dynamic_cast(pkt1->senderState); if (handleReadPacket(pkt1)) { - SplitFragmentSenderState * send_state = - dynamic_cast(pkt1->senderState); send_state->clearFromParent(); + send_state = dynamic_cast( + pkt2->senderState); if (handleReadPacket(pkt2)) { - send_state = dynamic_cast( - pkt1->senderState); send_state->clearFromParent(); } } } else { dcache_pkt = pkt1; + SplitFragmentSenderState * send_state = + dynamic_cast(pkt1->senderState); if (handleWritePacket()) { - SplitFragmentSenderState * send_state = - dynamic_cast(pkt1->senderState); send_state->clearFromParent(); dcache_pkt = pkt2; + send_state = dynamic_cast( + pkt2->senderState); if (handleWritePacket()) { - send_state = dynamic_cast( - pkt1->senderState); send_state->clearFromParent(); } }