From 9df2805ef9a14d731fcaa1325b6b1054c1f2c101 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Thu, 15 Nov 2012 13:40:56 +0000 Subject: xpp: pre/post_unregister: not for the EC 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 git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10735 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/xpp/xpp_dahdi.c | 4 ++-- 1 file 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); -- cgit v1.2.3