[svn-commits] mogorman: trunk r1704 - /trunk/ztcodec_dte.c

svn-commits at lists.digium.com svn-commits at lists.digium.com
Tue Dec 12 13:10:45 MST 2006


Author: mogorman
Date: Tue Dec 12 14:10:44 2006
New Revision: 1704

URL: http://svn.digium.com/view/zaptel?view=rev&rev=1704
Log:
improved support for loading multiple cards.

Modified:
    trunk/ztcodec_dte.c

Modified: trunk/ztcodec_dte.c
URL: http://svn.digium.com/view/zaptel/trunk/ztcodec_dte.c?view=diff&rev=1704&r1=1703&r2=1704
==============================================================================
--- trunk/ztcodec_dte.c (original)
+++ trunk/ztcodec_dte.c Tue Dec 12 14:10:44 2006
@@ -318,6 +318,7 @@
 	unsigned int last_rcommand;
 	unsigned int last_rparm2;
 	unsigned int seq_num;
+	long timeout;
 
 	unsigned int ztsnd_rtx;
 	unsigned int ztsnd_0010_rtx;
@@ -1158,18 +1159,15 @@
 	wcdte_setctl(wc, 0x0084, 0x00000000);
 }
 
-
-static long timeout = 1 * HZ;		/* 1 sec */
-
 static int wcdte_waitfor_csmencaps(struct wcdte *wc, unsigned int mask, int use_mask)
 {
 	int ret;
 
 
 	if (use_mask)
-		ret = wait_event_interruptible_timeout(wc->regq, (wc->rcvflags == mask), timeout);
+		ret = wait_event_interruptible_timeout(wc->regq, (wc->rcvflags == mask), wc->timeout);
 	else
-		ret = wait_event_interruptible_timeout(wc->regq, (wc->last_rcommand == wc->last_command_sent), timeout);
+		ret = wait_event_interruptible_timeout(wc->regq, (wc->last_rcommand == wc->last_command_sent), wc->timeout);
 	wc->rcvflags = 0;
 	wc->last_rcommand = 0;
 	wc->last_command_sent = 0;
@@ -1266,7 +1264,7 @@
 
 	} while (byteloc < sizeof(wcdte_firmware)-20);
 
-	/* Waitfor code to start */
+	wc->timeout = 10 * HZ;
 	if (wcdte_waitfor_csmencaps(wc, RCV_CSMENCAPS, 1))
 		return(1);
 	
@@ -1309,7 +1307,6 @@
 	zt_send_cmd(wc, CMD_MSG_VOIP_INDCTRL(wc->seq_num++, chan2), CMD_MSG_VOIP_INDCTRL_LEN, 0x8084);
 	zt_send_cmd(wc, CMD_MSG_VOIP_VOPENA(wc->seq_num++, chan1, complicated), CMD_MSG_VOIP_VOPENA_LEN, 0x8000);
 	zt_send_cmd(wc, CMD_MSG_VOIP_VOPENA(wc->seq_num++, chan2, simple), CMD_MSG_VOIP_VOPENA_LEN, 0x8000);
-	debug_packets = 0;
 
 	*dte_chan1 = chan1;
 	*dte_chan2 = chan2;
@@ -1331,8 +1328,6 @@
 	/* Remove the channels */
 	zt_send_cmd(wc, CMD_MSG_DESTROY_CHANNEL(wc->seq_num++, chan1), CMD_MSG_DESTROY_CHANNEL_LEN,  0x0011);
 	zt_send_cmd(wc, CMD_MSG_DESTROY_CHANNEL(wc->seq_num++, chan2), CMD_MSG_DESTROY_CHANNEL_LEN, 0x0011);
-
-	debug_packets=0;
 
 	return 1;
 }
@@ -1371,7 +1366,7 @@
 	zt_send_cmd(wc, CMD_MSG_TDM_OPT(wc->seq_num++), CMD_MSG_TDM_OPT_LEN, 0x0435);
 #endif
 
-	timeout = HZ/100 + 1; 	/* 10msec */
+	wc->timeout = HZ/100 + 1; 	/* 10msec */
 
 	return(0);
 }
@@ -1424,6 +1419,7 @@
 			wc->cmdq_wndx = 0;
 			wc->cmdq_rndx = 0;
 			wc->seq_num = 6;
+			wc->timeout = 1 * HZ;		/* 1 sec */
 			wc->ztsnd_rtx = 0;
 			wc->ztsnd_0010_rtx = 0;
 			



More information about the svn-commits mailing list