[Top][All Lists]
[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);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r9089 - usrp2/trunk/firmware/lib,
matt <=