[dahdi-commits] sruffell: linux/trunk r6218 - /linux/trunk/drivers/dahdi/wctc4xxp/base.c
SVN commits to the DAHDI project
dahdi-commits at lists.digium.com
Mon Mar 23 18:48:25 CDT 2009
Author: sruffell
Date: Mon Mar 23 18:48:22 2009
New Revision: 6218
URL: http://svn.digium.com/svn-view/dahdi?view=rev&rev=6218
Log:
Make sure that messages sitting in the outbound queue cause the timer to
reschedule.
Modified:
linux/trunk/drivers/dahdi/wctc4xxp/base.c
Modified: linux/trunk/drivers/dahdi/wctc4xxp/base.c
URL: http://svn.digium.com/svn-view/dahdi/linux/trunk/drivers/dahdi/wctc4xxp/base.c?view=diff&rev=6218&r1=6217&r2=6218
==============================================================================
--- linux/trunk/drivers/dahdi/wctc4xxp/base.c (original)
+++ linux/trunk/drivers/dahdi/wctc4xxp/base.c Mon Mar 23 18:48:22 2009
@@ -3025,6 +3025,7 @@
struct tcb *cmd, *temp;
LIST_HEAD(cmds_to_retry);
const int MAX_RETRIES = 5;
+ int reschedule_timer = 0;
service_tx_ring(wc);
@@ -3067,12 +3068,16 @@
"still on descriptor list.\n");
cmd->timeout = jiffies + HZ/4;
wctc4xxp_transmit_demand_poll(wc);
+ reschedule_timer = 1;
}
}
}
spin_unlock(&wc->cmd_list_lock);
- wctc4xxp_send_commands(wc, &cmds_to_retry);
+ if (list_empty(&cmds_to_retry) && reschedule_timer)
+ mod_timer(&wc->watchdog, jiffies + HZ/2);
+ else if (!list_empty(&cmds_to_retry))
+ wctc4xxp_send_commands(wc, &cmds_to_retry);
}
/**
More information about the dahdi-commits
mailing list