When a packet has finished transmitting, kick the state
authorNathan Binkert <binkertn@umich.edu>
Fri, 23 Jul 2004 16:19:27 +0000 (12:19 -0400)
committerNathan Binkert <binkertn@umich.edu>
Fri, 23 Jul 2004 16:19:27 +0000 (12:19 -0400)
machine too.  The fifo may have been full and we want
to get another packet into it if we can.

--HG--
extra : convert_revision : 8f57294bd18f5eccb900118f2de83a4ccfd20dbb

dev/ns_gige.hh

index 79ae00e6496ec42ece855d16404233d11bb54393..6405dc6342a55515b6ab1b46c63faa0d80dc6a57 100644 (file)
@@ -284,7 +284,13 @@ class NSGigE : public PciDev
      * Retransmit event
      */
     void transmit();
-    typedef EventWrapper<NSGigE, &NSGigE::transmit> TxEvent;
+    void txEventTransmit()
+    {
+        transmit();
+        if (txState == txFifoBlock)
+            txKick();
+    }
+    typedef EventWrapper<NSGigE, &NSGigE::txEventTransmit> TxEvent;
     friend class TxEvent;
     TxEvent txEvent;