summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xztdynamic.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ztdynamic.c b/ztdynamic.c
index c931246..149fdbe 100755
--- a/ztdynamic.c
+++ b/ztdynamic.c
@@ -201,11 +201,16 @@ static void ztdynamic_run(void)
{
long flags;
struct zt_dynamic *z;
+ int y;
spin_lock_irqsave(&dlock, flags);
z = dspans;
while(z) {
if (!z->dead) {
/* Ignore dead spans */
+ for (y=0;y<z->span.channels;y++) {
+ /* Echo cancel double buffered data */
+ zt_ec_chunk(&z->span.chans[y], z->span.chans[y].readchunk, z->span.chans[y].writechunk);
+ }
zt_receive(&z->span);
zt_transmit(&z->span);
/* Handle all transmissions now */