commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r9089 - usrp2/trunk/firmware/lib


From: matt
Subject: [Commit-gnuradio] r9089 - usrp2/trunk/firmware/lib
Date: Thu, 31 Jul 2008 20:08:08 -0600 (MDT)

Author: matt
Date: 2008-07-31 20:08:07 -0600 (Thu, 31 Jul 2008)
New Revision: 9089

Modified:
   usrp2/trunk/firmware/lib/dbsm.c
Log:
fixed underrun handling

Modified: usrp2/trunk/firmware/lib/dbsm.c
===================================================================
--- usrp2/trunk/firmware/lib/dbsm.c     2008-08-01 00:47:58 UTC (rev 9088)
+++ usrp2/trunk/firmware/lib/dbsm.c     2008-08-01 02:08:07 UTC (rev 9089)
@@ -246,16 +246,19 @@
   // clear the DSP Tx state machine
   dsp_tx_regs->clear_state = 1;
 
-  // If there's a buffer that's empyting (unlikely), clear it & restart xfer
+  // If there's a buffer that's empyting, clear it & flush xfer
 
   if (buffer_state[sm->buf0] == BS_EMPTYING){
     bp_clear_buf(sm->buf0);
-    dbsm_send_from_buf(sm, sm->buf0);
+    dsp_tx_regs->clear_state = 1;      // flush partial packet
+    // drop frame in progress on ground.  Pretend it finished
+    dbsm_process_helper(sm, sm->buf0);
   }
-
-  if (buffer_state[sm->buf0 ^ 1] == BS_EMPTYING){
+  else if (buffer_state[sm->buf0 ^ 1] == BS_EMPTYING){
     bp_clear_buf(sm->buf0 ^ 1);
-    dbsm_send_from_buf(sm, sm->buf0 ^ 1);
+    dsp_tx_regs->clear_state = 1;      // flush partial packet
+    // drop frame in progress on ground.  Pretend it finished
+    dbsm_process_helper(sm, sm->buf0 ^ 1);
   }
 }
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]