[svn-commits] sruffell: branch linux/sruffell/dahdi-linux-refcounts r6784 - /linux/team/sru...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Sun Jun 28 23:21:25 CDT 2009


Author: sruffell
Date: Sun Jun 28 23:21:21 2009
New Revision: 6784

URL: http://svn.asterisk.org/svn-view/dahdi?view=rev&rev=6784
Log:
refcounts: When a channel is unregisterd, release the ec_factory reference.

Modified:
    linux/team/sruffell/dahdi-linux-refcounts/drivers/dahdi/dahdi-base.c

Modified: linux/team/sruffell/dahdi-linux-refcounts/drivers/dahdi/dahdi-base.c
URL: http://svn.asterisk.org/svn-view/dahdi/linux/team/sruffell/dahdi-linux-refcounts/drivers/dahdi/dahdi-base.c?view=diff&rev=6784&r1=6783&r2=6784
==============================================================================
--- linux/team/sruffell/dahdi-linux-refcounts/drivers/dahdi/dahdi-base.c (original)
+++ linux/team/sruffell/dahdi-linux-refcounts/drivers/dahdi/dahdi-base.c Sun Jun 28 23:21:21 2009
@@ -1188,6 +1188,7 @@
 	chan->ec_state = NULL;
 	ec_current = chan->ec_current;
 	chan->ec_current = NULL;
+
 	readchunkpreec = chan->readchunkpreec;
 	chan->readchunkpreec = NULL;
 	chan->curtone = NULL;
@@ -1866,6 +1867,13 @@
 	unsigned long flags;
 
 	might_sleep();
+
+#ifdef USE_ECHOCAN_REFCOUNT
+	if (chan->ec_factory) {
+		module_put(chan->ec_factory->owner);
+		chan->ec_factory = NULL;
+	}
+#endif
 
 #ifdef CONFIG_DAHDI_NET
 	if (chan->flags & DAHDI_FLAG_NETDEV) {




More information about the svn-commits mailing list