summaryrefslogtreecommitdiff
path: root/xpp
diff options
context:
space:
mode:
authortzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2006-08-10 03:16:36 +0000
committertzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2006-08-10 03:16:36 +0000
commitcee1f1afa4053d32584af34097323e14d9cc0b54 (patch)
treeeb32a18cf3cea1293f3340ccaca0dcb9a5d05af8 /xpp
parent7d33e1eca2cc193bd0127816c7d487e3ef73e5bb (diff)
Bugfix: should not call zaptel for unregistered XPD's.
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@1286 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'xpp')
-rw-r--r--xpp/card_fxs.c3
-rw-r--r--xpp/xpp_zap.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/xpp/card_fxs.c b/xpp/card_fxs.c
index 09f548b..f012d41 100644
--- a/xpp/card_fxs.c
+++ b/xpp/card_fxs.c
@@ -811,6 +811,8 @@ HANDLER_DEF(FXS, SLIC_REPLY)
spin_lock_irqsave(&xpd->lock, flags);
priv = xpd->priv;
BUG_ON(!priv);
+ if(!SPAN_REGISTERED(xpd))
+ goto out;
#if 0
DBG("SLIC_REPLY: xpd #%d %s reg_num=0x%X, dataL=0x%X dataH=0x%X\n",
xpd->id, (info->indirect)?"I":"D",
@@ -845,6 +847,7 @@ HANDLER_DEF(FXS, SLIC_REPLY)
}
}
+out:
/* Update /proc info only if reply relate to the last slic read request */
if(priv->requested_reply.indirect == info->indirect &&
priv->requested_reply.reg_num == info->reg_num) {
diff --git a/xpp/xpp_zap.c b/xpp/xpp_zap.c
index e992144..5298580 100644
--- a/xpp/xpp_zap.c
+++ b/xpp/xpp_zap.c
@@ -626,6 +626,8 @@ void update_line_status(xpd_t *xpd, int pos, bool good)
{
struct zt_chan *chan;
+ if(!SPAN_REGISTERED(xpd))
+ return;
BUG_ON(!xpd);
chan = &xpd->chans[pos];
if(good)