summaryrefslogtreecommitdiff
path: root/net/asterisk16/files/patch-channels-chan_dahdi.c
diff options
context:
space:
mode:
authorMax Khon <fjoe@FreeBSD.org>2010-03-05 08:31:35 +0000
committerMax Khon <fjoe@FreeBSD.org>2010-03-05 08:31:35 +0000
commit9359458074b4b0e420976e4ad9d19a8fe9989d32 (patch)
tree0556ba21b9f74bb0933b88a4b8e521d290a69a98 /net/asterisk16/files/patch-channels-chan_dahdi.c
parentUpdate to 5.0.1 release. (diff)
Re-enable Zaptel (now DAHDI) support.
Approved by: MAINTAINER Feature safe: yes
Diffstat (limited to '')
-rw-r--r--net/asterisk16/files/patch-channels-chan_dahdi.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/net/asterisk16/files/patch-channels-chan_dahdi.c b/net/asterisk16/files/patch-channels-chan_dahdi.c
new file mode 100644
index 000000000000..b856d3266c2a
--- /dev/null
+++ b/net/asterisk16/files/patch-channels-chan_dahdi.c
@@ -0,0 +1,32 @@
+--- channels/chan_dahdi.c.orig 2009-10-22 17:19:21.568250985 +0000
++++ channels/chan_dahdi.c 2009-10-22 17:26:26.261584076 +0000
+@@ -1997,13 +1997,17 @@
+ return;
+ }
+ if (p->echocancel.head.tap_length) {
++ struct dahdi_echocanparams *pecp;
++
+ if ((p->sig == SIG_BRI) || (p->sig == SIG_BRI_PTMP) || (p->sig == SIG_PRI) || (p->sig == SIG_SS7)) {
+ x = 1;
+ res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_AUDIOMODE, &x);
+ if (res)
+ ast_log(LOG_WARNING, "Unable to enable audio mode on channel %d (%s)\n", p->channel, strerror(errno));
+ }
+- res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &p->echocancel);
++
++ pecp = &p->echocancel.head;
++ res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &pecp);
+ if (res) {
+ ast_log(LOG_WARNING, "Unable to enable echo cancellation on channel %d (%s)\n", p->channel, strerror(errno));
+ } else {
+@@ -2037,8 +2041,9 @@
+
+ if (p->echocanon) {
+ struct dahdi_echocanparams ecp = { .tap_length = 0 };
++ struct dahdi_echocanparams *pecp = &ecp;
+
+- res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &ecp);
++ res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &pecp);
+
+ if (res)
+ ast_log(LOG_WARNING, "Unable to disable echo cancellation on channel %d: %s\n", p->channel, strerror(errno));