summaryrefslogtreecommitdiff
path: root/xpp/card_pri.c
diff options
context:
space:
mode:
Diffstat (limited to 'xpp/card_pri.c')
-rw-r--r--xpp/card_pri.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/xpp/card_pri.c b/xpp/card_pri.c
index 6b2f487..ed438cf 100644
--- a/xpp/card_pri.c
+++ b/xpp/card_pri.c
@@ -743,7 +743,7 @@ static int pri_lineconfig(xpd_t *xpd, int lineconfig)
byte fmr3 = 0; /* write only for CRC4 */
byte fmr4 = 0;
byte imr0 = 0;
- byte xsp;
+ byte xsp = 0;
unsigned int bad_bits;
int i;
@@ -1359,6 +1359,14 @@ static void PRI_card_pcm_fromspan(xbus_t *xbus, xpd_t *xpd, xpp_line_t lines, xp
if(IS_SET(lines, i)) {
physical_mask |= BIT(physical_chan);
if(SPAN_REGISTERED(xpd)) {
+#ifdef DEBUG_PCMTX
+ int channo = xpd->span.chans[i].channo;
+
+ if(pcmtx >= 0 && pcmtx_chan == channo)
+ memset((u_char *)pcm, pcmtx, ZT_CHUNKSIZE);
+ else
+#endif
+ memcpy((u_char *)pcm, chans[i].writechunk, ZT_CHUNKSIZE);
if(i == PRI_DCHAN_IDX(priv)) {
if(priv->dchan_tx_sample != chans[i].writechunk[0]) {
priv->dchan_tx_sample = chans[i].writechunk[0];
@@ -1368,12 +1376,6 @@ static void PRI_card_pcm_fromspan(xbus_t *xbus, xpd_t *xpd, xpp_line_t lines, xp
else
chans[i].writechunk[0] = 0xFF; /* Clobber for next tick */
}
-#ifdef DEBUG_PCMTX
- if(pcmtx >= 0 && pcmtx_chan == i)
- memset((u_char *)pcm, pcmtx, ZT_CHUNKSIZE);
- else
-#endif
- memcpy((u_char *)pcm, chans[i].writechunk, ZT_CHUNKSIZE);
} else
memset((u_char *)pcm, ZT_XLAW(0, (&chans[i])), ZT_CHUNKSIZE);
pcm += ZT_CHUNKSIZE;