summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir.cohen@xorcom.com>2012-11-15 13:40:56 +0000
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>2012-11-15 13:40:56 +0000
commit9df2805ef9a14d731fcaa1325b6b1054c1f2c101 (patch)
tree25b02cd2d55513dd31b5303709e9e8ab541d24db
parent860fbeafb4d3128a567bd0830365cd0ffffc211f (diff)
xpp: pre/post_unregister: not for the ECHEADmaster
Don't run the pre- and post-unregister hooks on a non-phone XPD (practically: the echo canceller). This fixes a panic with manual 'dahdi_registertion off' as it is now called for the whole device (regression of 2.6.x). Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10735 a0bf4364-ded3-4de4-8d8a-66a801d63aff
-rw-r--r--drivers/dahdi/xpp/xpp_dahdi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/dahdi/xpp/xpp_dahdi.c b/drivers/dahdi/xpp/xpp_dahdi.c
index fd9c51a..aca99b7 100644
--- a/drivers/dahdi/xpp/xpp_dahdi.c
+++ b/drivers/dahdi/xpp/xpp_dahdi.c
@@ -1125,7 +1125,7 @@ int xpd_dahdi_postregister(xpd_t *xpd)
*/
void xpd_dahdi_preunregister(xpd_t *xpd)
{
- if (!xpd)
+ if (!xpd || !IS_PHONEDEV(xpd))
return;
XPD_DBG(DEVICES, xpd, "\n");
update_xpd_status(xpd, DAHDI_ALARM_NOTOPEN);
@@ -1148,7 +1148,7 @@ void xpd_dahdi_preunregister(xpd_t *xpd)
void xpd_dahdi_postunregister(xpd_t *xpd)
{
- if (!xpd)
+ if (!xpd || !IS_PHONEDEV(xpd))
return;
atomic_dec(&PHONEDEV(xpd).dahdi_registered);
atomic_dec(&num_registered_spans);