diff --git a/dev/ns_gige.cc b/dev/ns_gige.cc index f88fc507f0..68a50bcce8 100644 --- a/dev/ns_gige.cc +++ b/dev/ns_gige.cc @@ -1889,11 +1889,7 @@ NSGigE::txKick() descDmaWrites++; descDmaWrBytes += txDmaLen; - if (doTxDmaWrite()) - goto exit; - transmit(); - txPacket = 0; if (txHalt) { @@ -1902,6 +1898,9 @@ NSGigE::txKick() txHalt = false; } else txState = txAdvance; + + if (doTxDmaWrite()) + goto exit; } } else { DPRINTF(EthernetSM, "this descriptor isn't done yet\n");