diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-08-10 03:16:36 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-08-10 03:16:36 +0000 |
commit | cee1f1afa4053d32584af34097323e14d9cc0b54 (patch) | |
tree | eb32a18cf3cea1293f3340ccaca0dcb9a5d05af8 /xpp | |
parent | 7d33e1eca2cc193bd0127816c7d487e3ef73e5bb (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.c | 3 | ||||
-rw-r--r-- | xpp/xpp_zap.c | 2 |
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) |