summaryrefslogtreecommitdiff
path: root/zaptel-base.c
diff options
context:
space:
mode:
authormattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-08-24 19:39:22 +0000
committermattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-08-24 19:39:22 +0000
commit569ef1ccbc73af5a47f8c065a0d858124ffc67f9 (patch)
treebd690b72cd7035b43c99bc07d3cce95f4323dc41 /zaptel-base.c
parentec3da485f11dc83627691b49323ed6bf94ac7c5d (diff)
More backport code
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@2947 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'zaptel-base.c')
-rw-r--r--zaptel-base.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/zaptel-base.c b/zaptel-base.c
index bf8c2ba..84b956b 100644
--- a/zaptel-base.c
+++ b/zaptel-base.c
@@ -593,6 +593,8 @@ static int zaptel_proc_read(char *page, char **start, off_t off, int count, int
len += sprintf(page + len, "\tFAS error count: %d\n", spans[span]->fascount);
if (spans[span]->irqmisses)
len += sprintf(page + len, "\tIRQ misses: %d\n", spans[span]->irqmisses);
+ if (spans[span]->timingslips)
+ len += sprintf(page + len, "\tTiming slips: %d\n", spans[span]->timingslips);
len += sprintf(page + len, "\n");
@@ -4780,7 +4782,8 @@ int zt_unregister(struct zt_span *span)
#ifdef CONFIG_ZAP_UDEV
for (x = 0; x < span->channels; x++) {
- class_device_destroy(zap_class, MKDEV(ZT_MAJOR, span->chans[x].channo));
+ if (span->chans[x].channo < 250)
+ class_device_destroy(zap_class, MKDEV(ZT_MAJOR, span->chans[x].channo));
}
#endif /* CONFIG_ZAP_UDEV */
@@ -6424,7 +6427,7 @@ static inline void __zt_putbuf_chunk(struct zt_chan *ss, unsigned char *rxb)
__putbuf_chunk(ss, rxb, ZT_CHUNKSIZE);
}
-void __zt_hdlc_abort(struct zt_chan *ss, int event)
+static void __zt_hdlc_abort(struct zt_chan *ss, int event)
{
if (ss->inreadbuf >= 0)
ss->readidx[ss->inreadbuf] = 0;
@@ -6800,6 +6803,10 @@ int zt_transmit(struct zt_span *span)
int x,y,z;
unsigned long flags;
+#ifdef ZAPTEL_SYNC_TICK
+ if (span->sync_tick)
+ span->sync_tick(span, span == master);
+#endif
#if 1
for (x=0;x<span->channels;x++) {
spin_lock_irqsave(&span->chans[x].lock, flags);