[dahdi-commits] dahdi/linux.git branch "2.9.y" updated.
SVN commits to the DAHDI project
dahdi-commits at lists.digium.com
Fri Aug 15 15:39:04 CDT 2014
branch "2.9.y" has been updated
via ad95ef8b4ad4101aabb08187f9e31526c7d21c94 (commit)
from 8a58e9a0ceb2bb3fe162d333b5ea0207953d4c27 (commit)
Summary of changes:
drivers/dahdi/dahdi_dynamic.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
- Log -----------------------------------------------------------------
commit ad95ef8b4ad4101aabb08187f9e31526c7d21c94
Author: Michael Walton <mike at farsouthnet.com>
Date: Tue Aug 12 15:03:52 2014 -0500
dynamic: Prevent oops due to inverted compile flag
The logic on ENABLE_TASKELETS compiler flag was inverted causing an oops on
normal dahdi_cfg of a dynamic span.
Issue-id: https://issues.asterisk.org/jira/browse/DAHLIN-328
Signed-off-by: Russ Meyerriecks <rmeyerriecks at digium.com>
Acked-by: Shaun Ruffell <sruffell at digium.com>
(cherry picked from commit eedb4bf9441ae3545a4ab74eac2d10fa57681355)
diff --git a/drivers/dahdi/dahdi_dynamic.c b/drivers/dahdi/dahdi_dynamic.c
index 3ee1ad2..5be3b97 100644
--- a/drivers/dahdi/dahdi_dynamic.c
+++ b/drivers/dahdi/dahdi_dynamic.c
@@ -201,7 +201,9 @@ static void dahdi_dynamic_sendmessage(struct dahdi_dynamic *d)
static void __dahdi_dynamic_run(void)
{
struct dahdi_dynamic *d;
+#ifdef ENABLE_TASKLETS
struct dahdi_dynamic_driver *drv;
+#endif
rcu_read_lock();
list_for_each_entry_rcu(d, &dspan_list, list) {
@@ -211,6 +213,13 @@ static void __dahdi_dynamic_run(void)
}
#ifdef ENABLE_TASKLETS
+ list_for_each_entry_rcu(drv, &driver_list, list) {
+ /* Flush any traffic still pending in the driver */
+ if (drv->flush) {
+ drv->flush();
+ }
+ }
+#else
/* If tasklets are not enabled, the above section will be called in
* interrupt context and the flushing of each driver will be called in a
* separate tasklet that only handles that. This is necessary since some
@@ -221,13 +230,6 @@ static void __dahdi_dynamic_run(void)
*
*/
tasklet_hi_schedule(&dahdi_dynamic_flush_tlet);
-#else
- list_for_each_entry_rcu(drv, &driver_list, list) {
- /* Flush any traffic still pending in the driver */
- if (drv->flush) {
- drv->flush();
- }
- }
#endif
rcu_read_unlock();
}
-----------------------------------------------------------------------
--
dahdi/linux.git
More information about the dahdi-commits
mailing list