diff options
author | mattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-02-01 20:10:28 +0000 |
---|---|---|
committer | mattf <mattf@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2008-02-01 20:10:28 +0000 |
commit | 9bed5d85f82f93e05c56b288abc42783f3643e9d (patch) | |
tree | d5700af063963a72b1834bd550cf82d26cae99ab | |
parent | 5d2c8135f233bafed641d4eb56f979273bf5cea6 (diff) |
Assume if we're disabling echo can that there are no paramters passed
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@3779 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rw-r--r-- | zaptel-base.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/zaptel-base.c b/zaptel-base.c index 5cab0e5..e152fa4 100644 --- a/zaptel-base.c +++ b/zaptel-base.c @@ -4363,8 +4363,17 @@ static int ioctl_echocancel(struct zt_chan *chan, struct zt_echocanparams *ecp, chan->echolastupdate = 0; chan->echotimer = 0; spin_unlock_irqrestore(&chan->lock, flags); - if (chan->span && chan->span->echocan) - chan->span->echocan(chan, 0); + + /* Make sure this is zero if we're disabling echo can */ + ecp->param_count = 0; + + if (chan->span) { + if (chan->span->echocan_with_params) + chan->span->echocan_with_params(chan, ecp, NULL); + else if (chan->span->echocan) + chan->span->echocan(chan, 0); + } + if (tec) echo_can_free(tec); |