summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir.cohen@xorcom.com>2010-01-10 10:23:56 +0000
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>2010-01-10 10:23:56 +0000
commit2967c2ec4b0fe7a69be483bca3f0b53d96545daa (patch)
tree06d53248d4f8f571357a12e3df15ede7540e59f4
parente52771b15ee7e68944d70a64dcf48f8516212db7 (diff)
xpp: fixes for drift calculation.
Should help for the case of multiple quad-PRI Astribanks on a single system. xpp rev: 7666. Merged revisions 7807 via svnmerge from http://svn.digium.com/svn/dahdi/linux/trunk git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/branches/2.2@7812 a0bf4364-ded3-4de4-8d8a-66a801d63aff
-rw-r--r--drivers/dahdi/xpp/xbus-pcm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dahdi/xpp/xbus-pcm.c b/drivers/dahdi/xpp/xbus-pcm.c
index fb41761..d16ca3a 100644
--- a/drivers/dahdi/xpp/xbus-pcm.c
+++ b/drivers/dahdi/xpp/xbus-pcm.c
@@ -213,9 +213,10 @@ static void xpp_drift_step(xbus_t *xbus, const struct timeval *tv)
lost_ticks,
(abs(lost_ticks) > 1) ? "s": "");
}
- xbus_drift_clear(xbus);
- if(abs(lost_ticks) > 100)
+ if(abs(lost_ticks) > 100) {
+ xbus_drift_clear(xbus);
ticker->count = ref_ticker->count;
+ }
} else {
/* Sample a delta */
usec_delta = (long)usec_diff(