[svn-commits] sruffell: branch 1.4 r3659 - in /branches: 1.2/wcte12xp/ 1.4/wcte12xp/
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Fri Jan 11 13:40:42 CST 2008
Author: sruffell
Date: Fri Jan 11 13:40:42 2008
New Revision: 3659
URL: http://svn.digium.com/view/zaptel?view=rev&rev=3659
Log:
Elimates a recursive grab of a spinlock in the interrupt handler for the wcte12xp.
Modified:
branches/1.2/wcte12xp/base.c
branches/1.4/wcte12xp/base.c
Modified: branches/1.2/wcte12xp/base.c
URL: http://svn.digium.com/view/zaptel/branches/1.2/wcte12xp/base.c?view=diff&rev=3659&r1=3658&r2=3659
==============================================================================
--- branches/1.2/wcte12xp/base.c (original)
+++ branches/1.2/wcte12xp/base.c Fri Jan 11 13:40:42 2008
@@ -379,7 +379,8 @@
do {
- spin_lock_irqsave(&wc->reglock, flags);
+ if (!inisr)
+ spin_lock_irqsave(&wc->reglock, flags);
hit = empty_slot(wc);
if (hit > -1) {
wc->cmdq.cmds[hit].address = addr;
@@ -390,9 +391,10 @@
wc->cmdq.cmds[hit].vpm_num = vpm_num;
}
}
- spin_unlock_irqrestore(&wc->reglock, flags);
if (inisr)
break;
+ else
+ spin_unlock_irqrestore(&wc->reglock, flags);
if (hit < 0) {
if ((ret = schluffen(&wc->regq)))
return ret;
Modified: branches/1.4/wcte12xp/base.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/wcte12xp/base.c?view=diff&rev=3659&r1=3658&r2=3659
==============================================================================
--- branches/1.4/wcte12xp/base.c (original)
+++ branches/1.4/wcte12xp/base.c Fri Jan 11 13:40:42 2008
@@ -379,7 +379,8 @@
do {
- spin_lock_irqsave(&wc->reglock, flags);
+ if (!inisr)
+ spin_lock_irqsave(&wc->reglock, flags);
hit = empty_slot(wc);
if (hit > -1) {
wc->cmdq.cmds[hit].address = addr;
@@ -390,9 +391,10 @@
wc->cmdq.cmds[hit].vpm_num = vpm_num;
}
}
- spin_unlock_irqrestore(&wc->reglock, flags);
if (inisr)
break;
+ else
+ spin_unlock_irqrestore(&wc->reglock, flags);
if (hit < 0) {
if ((ret = schluffen(&wc->regq)))
return ret;
More information about the svn-commits
mailing list