diff options
Diffstat (limited to 'net/asterisk16/files/patch-channels-chan_dahdi.c')
-rw-r--r-- | net/asterisk16/files/patch-channels-chan_dahdi.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/net/asterisk16/files/patch-channels-chan_dahdi.c b/net/asterisk16/files/patch-channels-chan_dahdi.c index 06be04cc4886..654fcdd47701 100644 --- a/net/asterisk16/files/patch-channels-chan_dahdi.c +++ b/net/asterisk16/files/patch-channels-chan_dahdi.c @@ -1,6 +1,6 @@ ---- channels/chan_dahdi.c.orig 2018-08-08 16:02:31 UTC +--- channels/chan_dahdi.c.orig 2020-06-16 14:39:16 UTC +++ channels/chan_dahdi.c -@@ -4599,6 +4599,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p) +@@ -4649,6 +4649,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p) return; } if (p->echocancel.head.tap_length) { @@ -9,7 +9,7 @@ #if defined(HAVE_PRI) || defined(HAVE_SS7) switch (p->sig) { #if defined(HAVE_PRI) -@@ -4629,7 +4631,9 @@ void dahdi_ec_enable(struct dahdi_pvt *p) +@@ -4679,7 +4681,9 @@ void dahdi_ec_enable(struct dahdi_pvt *p) break; } #endif /* defined(HAVE_PRI) || defined(HAVE_SS7) */ @@ -20,7 +20,7 @@ if (res) { ast_log(LOG_WARNING, "Unable to enable echo cancellation on channel %d (%s)\n", p->channel, strerror(errno)); } else { -@@ -4663,8 +4667,9 @@ void dahdi_ec_disable(struct dahdi_pvt *p) +@@ -4713,8 +4717,9 @@ void dahdi_ec_disable(struct dahdi_pvt *p) if (p->echocanon) { struct dahdi_echocanparams ecp = { .tap_length = 0 }; @@ -31,3 +31,16 @@ if (res) ast_log(LOG_WARNING, "Unable to disable echo cancellation on channel %d: %s\n", p->channel, strerror(errno)); +@@ -18147,8 +18152,10 @@ static int process_dahdi(struct dahdi_chan_conf *confp + if ((varval = strchr(varname, '='))) { + *varval++ = '\0'; + if ((tmpvar = ast_variable_new(varname, varval, ""))) { +- tmpvar->next = confp->chan.vars; +- confp->chan.vars = tmpvar; ++ if (ast_variable_list_replace(&confp->chan.vars, tmpvar)) { ++ tmpvar->next = confp->chan.vars; ++ confp->chan.vars = tmpvar; ++ } + } + } + } |