[svn-commits] sruffell: linux/trunk r6692 - in /linux/trunk/drivers/dahdi: ./ wctdm24xxp/

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Jun 18 13:03:30 CDT 2009


Author: sruffell
Date: Thu Jun 18 13:03:26 2009
New Revision: 6692

URL: http://svn.asterisk.org/svn-view/dahdi?view=rev&rev=6692
Log:
wctdm, wctdm24xxp, wcfxo: Fix calls to dahdi_hooksig.

When JAPAN, AUDIO_RINGCHECK, or ZERO_BATT_RING compile time options are
selected it is possible to get a kernel panic due to an invalid pointer passed
to the dahdi_hooksig function.

(closes issue #15350)
Patch by: alecdavis

Modified:
    linux/trunk/drivers/dahdi/wcfxo.c
    linux/trunk/drivers/dahdi/wctdm.c
    linux/trunk/drivers/dahdi/wctdm24xxp/base.c

Modified: linux/trunk/drivers/dahdi/wcfxo.c
URL: http://svn.asterisk.org/svn-view/dahdi/linux/trunk/drivers/dahdi/wcfxo.c?view=diff&rev=6692&r1=6691&r2=6692
==============================================================================
--- linux/trunk/drivers/dahdi/wcfxo.c (original)
+++ linux/trunk/drivers/dahdi/wcfxo.c Thu Jun 18 13:03:26 2009
@@ -488,7 +488,7 @@
 				wc->battery =  0;
 #ifdef	JAPAN
 				if ((!wc->ohdebounce) && wc->offhook) {
-					dahdi_hooksig(&wc->chan, DAHDI_RXSIG_ONHOOK);
+					dahdi_hooksig(wc->chan, DAHDI_RXSIG_ONHOOK);
 					if (debug)
 						printk(KERN_DEBUG "Signalled On Hook\n");
 #ifdef	ZERO_BATT_RING
@@ -516,7 +516,7 @@
 #ifdef	ZERO_BATT_RING
 				if (wc->onhook) {
 					wc->onhook = 0;
-					dahdi_hooksig(&wc->chan, DAHDI_RXSIG_OFFHOOK);
+					dahdi_hooksig(wc->chan, DAHDI_RXSIG_OFFHOOK);
 					if (debug)
 						printk(KERN_DEBUG "Signalled Off Hook\n");
 				}

Modified: linux/trunk/drivers/dahdi/wctdm.c
URL: http://svn.asterisk.org/svn-view/dahdi/linux/trunk/drivers/dahdi/wctdm.c?view=diff&rev=6692&r1=6691&r2=6692
==============================================================================
--- linux/trunk/drivers/dahdi/wctdm.c (original)
+++ linux/trunk/drivers/dahdi/wctdm.c Thu Jun 18 13:03:26 2009
@@ -378,14 +378,14 @@
 			if (debug)
 				printk(KERN_DEBUG "RING on %d/%d!\n", wc->span.spanno, card + 1);
 			if (!wc->mod[card].fxo.offhook)
-				dahdi_hooksig(&wc->chans[card], DAHDI_RXSIG_RING);
+				dahdi_hooksig(wc->chans[card], DAHDI_RXSIG_RING);
 			wc->mod[card].fxo.ring = 1;
 		}
 		if (wc->mod[card].fxo.ring && !wc->mod[card].fxo.pegcount) {
 			/* No more ring */
 			if (debug)
 				printk(KERN_DEBUG "NO RING on %d/%d!\n", wc->span.spanno, card + 1);
-			dahdi_hooksig(&wc->chans[card], DAHDI_RXSIG_OFFHOOK);
+			dahdi_hooksig(wc->chans[card], DAHDI_RXSIG_OFFHOOK);
 			wc->mod[card].fxo.ring = 0;
 		}
 	}
@@ -864,7 +864,7 @@
 						printk(KERN_DEBUG "NO BATTERY on %d/%d!\n", wc->span.spanno, card + 1);
 #ifdef	JAPAN
 					if (!wc->ohdebounce && wc->offhook) {
-						dahdi_hooksig(&wc->chans[card], DAHDI_RXSIG_ONHOOK);
+						dahdi_hooksig(wc->chans[card], DAHDI_RXSIG_ONHOOK);
 						if (debug)
 							printk(KERN_DEBUG "Signalled On Hook\n");
 #ifdef	ZERO_BATT_RING
@@ -908,7 +908,7 @@
 #ifdef	ZERO_BATT_RING
 					if (wc->onhook) {
 						wc->onhook = 0;
-						dahdi_hooksig(&wc->chans[card], DAHDI_RXSIG_OFFHOOK);
+						dahdi_hooksig(wc->chans[card], DAHDI_RXSIG_OFFHOOK);
 						if (debug)
 							printk(KERN_DEBUG "Signalled Off Hook\n");
 					}

Modified: linux/trunk/drivers/dahdi/wctdm24xxp/base.c
URL: http://svn.asterisk.org/svn-view/dahdi/linux/trunk/drivers/dahdi/wctdm24xxp/base.c?view=diff&rev=6692&r1=6691&r2=6692
==============================================================================
--- linux/trunk/drivers/dahdi/wctdm24xxp/base.c (original)
+++ linux/trunk/drivers/dahdi/wctdm24xxp/base.c Thu Jun 18 13:03:26 2009
@@ -1426,7 +1426,7 @@
 						printk(KERN_DEBUG "NO BATTERY on %d/%d!\n", wc->span.spanno, card + 1);
 #ifdef	JAPAN
 					if (!wc->ohdebounce && wc->offhook) {
-						dahdi_hooksig(&wc->chans[card], DAHDI_RXSIG_ONHOOK);
+						dahdi_hooksig(wc->chans[card], DAHDI_RXSIG_ONHOOK);
 						if (debug)
 							printk(KERN_DEBUG "Signalled On Hook\n");
 #ifdef	ZERO_BATT_RING
@@ -1470,7 +1470,7 @@
 #ifdef	ZERO_BATT_RING
 					if (wc->onhook) {
 						wc->onhook = 0;
-						dahdi_hooksig(&wc->chans[card], DAHDI_RXSIG_OFFHOOK);
+						dahdi_hooksig(wc->chans[card], DAHDI_RXSIG_OFFHOOK);
 						if (debug)
 							printk(KERN_DEBUG "Signalled Off Hook\n");
 					}




More information about the svn-commits mailing list