[asterisk-bugs] [JIRA] (DAHLIN-328) dahdi_dynamic kernel warning then crash due to driver flush in interrupt context
Michael Walton (JIRA)
noreply at issues.asterisk.org
Tue Oct 1 01:33:05 CDT 2013
[ https://issues.asterisk.org/jira/browse/DAHLIN-328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=210706#comment-210706 ]
Michael Walton edited comment on DAHLIN-328 at 10/1/13 1:31 AM:
----------------------------------------------------------------
I believe the bug is simply dahdi_dynamic.c:213 (see code snippet below from line 213 onward) - the #ifdef should in fact be #ifndef (as implied by the comment).
{code:title=dahdi_dynamic.c:213}
#ifdef ENABLE_TASKLETS
/* 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
* of the dynamic spans need to call functions that require interrupts
* to be enabled but dahdi_transmit / ...sendmessage needs to be called
* each time the masterspan is processed which happens with interrupts
* disabled.
*
*/
tasklet_hi_schedule(&dahdi_dynamic_flush_tlet);
#else
{code}
This change solves the problem for me. I have tried with ENABLE_TASKLETS defined and undefined, both OK.
was (Author: mike at farsouthnet.com):
I believe the bug is simply dahdi_dynamic.c:213 (see code snippet below from line 213 onward) - the #ifdef should in fact be #ifndef (as implied by the comment).
{code:title=dahdi_dynamic.c:213}
#ifdef ENABLE_TASKLETS
/* 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
* of the dynamic spans need to call functions that require interrupts
* to be enabled but dahdi_transmit / ...sendmessage needs to be called
* each time the masterspan is processed which happens with interrupts
* disabled.
*
*/
tasklet_hi_schedule(&dahdi_dynamic_flush_tlet);
#else
{code}
> dahdi_dynamic kernel warning then crash due to driver flush in interrupt context
> --------------------------------------------------------------------------------
>
> Key: DAHLIN-328
> URL: https://issues.asterisk.org/jira/browse/DAHLIN-328
> Project: DAHDI-Linux
> Issue Type: Bug
> Security Level: None
> Components: dahdi_dynamic, dahdi_dynamic_eth
> Affects Versions: 2.7.0
> Environment: Ubuntu 10.04 with natty backport kernel 2.6.38-13
> Reporter: Michael Walton
> Assignee: Russ Meyerriecks
> Severity: Critical
>
> Steps to reproduce
> * Build dahdi-linux, in my case:
> {{make ARCH=i386 KVERS=2.6.38-13-generic-pae}}
> * Set up a dynamic_eth span (e.g. dynamic = eth,eth1/00:50:c2:97:93:a1/3,16,4)
> * Start dahdi driver, kernel WARN below:
> {{WARNING: at .../kernel/softirq.c:159 local_bh_enable+0x60/0x90()}}
> * After some time (seconds to minutes), on my system, I get a kernel freeze with no additional messages
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list