[zaptel-commits] mattf: branch 1.4 r2200 - in /branches/1.4: ./ wct4xxp/vpm450m.c

zaptel-commits at lists.digium.com zaptel-commits at lists.digium.com
Wed Feb 21 08:58:00 MST 2007


Author: mattf
Date: Wed Feb 21 09:57:59 2007
New Revision: 2200

URL: http://svn.digium.com/view/zaptel?view=rev&rev=2200
Log:
Merged revisions 2198 via svnmerge from 
https://origsvn.digium.com/svn/zaptel/branches/1.2

........
r2198 | mattf | 2007-02-21 09:49:50 -0600 (Wed, 21 Feb 2007) | 2 lines

Reduce our stack usage when using the vpm450m

........

Modified:
    branches/1.4/   (props changed)
    branches/1.4/wct4xxp/vpm450m.c

Propchange: branches/1.4/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.

Modified: branches/1.4/wct4xxp/vpm450m.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/wct4xxp/vpm450m.c?view=diff&rev=2200&r1=2199&r2=2200
==============================================================================
--- branches/1.4/wct4xxp/vpm450m.c (original)
+++ branches/1.4/wct4xxp/vpm450m.c Wed Feb 21 09:57:59 2007
@@ -204,15 +204,16 @@
 
 static void vpm450m_setecmode(struct vpm450m *vpm450m, int channel, int mode)
 {
-	tOCT6100_CHANNEL_MODIFY modify;
+	tOCT6100_CHANNEL_MODIFY *modify;
 	UINT32 ulResult;
 
 	if (vpm450m->ecmode[channel] == mode)
 		return;
-	Oct6100ChannelModifyDef(&modify);
-	modify.ulEchoOperationMode = mode;
-	modify.ulChannelHndl = vpm450m->aulEchoChanHndl[channel];
-	ulResult = Oct6100ChannelModify(vpm450m->pApiInstance, &modify);
+	modify = kmalloc(sizeof(tOCT6100_CHANNEL_MODIFY), GFP_KERNEL);
+	Oct6100ChannelModifyDef(modify);
+	modify->ulEchoOperationMode = mode;
+	modify->ulChannelHndl = vpm450m->aulEchoChanHndl[channel];
+	ulResult = Oct6100ChannelModify(vpm450m->pApiInstance, modify);
 	if (ulResult != GENERIC_OK) {
 		printk("Failed to apply echo can changes on channel %d!\n", channel);
 	} else {
@@ -221,21 +222,23 @@
 #endif
 		vpm450m->ecmode[channel] = mode;
 	}
+	kfree(modify);
 }
 
 void vpm450m_setdtmf(struct vpm450m *vpm450m, int channel, int detect, int mute)
 {
-	tOCT6100_CHANNEL_MODIFY modify;
+	tOCT6100_CHANNEL_MODIFY *modify;
 	UINT32 ulResult;
 
-	Oct6100ChannelModifyDef(&modify);
-	modify.ulChannelHndl = vpm450m->aulEchoChanHndl[channel];
+	modify = kmalloc(sizeof(tOCT6100_CHANNEL_MODIFY), GFP_KERNEL);
+	Oct6100ChannelModifyDef(modify);
+	modify->ulChannelHndl = vpm450m->aulEchoChanHndl[channel];
 	if (mute) {
 		vpm450m->chanflags[channel] |= FLAG_MUTE;
-		modify.VqeConfig.fDtmfToneRemoval = TRUE;
+		modify->VqeConfig.fDtmfToneRemoval = TRUE;
 	} else {
 		vpm450m->chanflags[channel] &= ~FLAG_MUTE;
-		modify.VqeConfig.fDtmfToneRemoval = FALSE;
+		modify->VqeConfig.fDtmfToneRemoval = FALSE;
 	}
 	if (detect)
 		vpm450m->chanflags[channel] |= FLAG_DTMF;
@@ -251,11 +254,12 @@
 			vpm450m_setecmode(vpm450m, channel, cOCT6100_ECHO_OP_MODE_DIGITAL);
 	}
 
-	ulResult = Oct6100ChannelModify(vpm450m->pApiInstance, &modify);
+	ulResult = Oct6100ChannelModify(vpm450m->pApiInstance, modify);
 	if (ulResult != GENERIC_OK) {
 		printk("Failed to apply dtmf mute changes on channel %d!\n", channel);
 	}
 /*	printk("VPM450m: Setting DTMF on channel %d: %s / %s\n", channel, (detect ? "DETECT" : "NO DETECT"), (mute ? "MUTE" : "NO MUTE")); */
+	kfree(modify);
 }
 
 void vpm450m_setec(struct vpm450m *vpm450m, int channel, int eclen)
@@ -352,7 +356,9 @@
 				*tone = 'f';
 				break;
 			default:
+#ifdef OCTASIC_DEBUG
 				printk("Unknown tone value %08x\n", tonefound.ulToneDetected);
+#endif
 				*tone = 'u';
 				break;
 			}



More information about the zaptel-commits mailing list