dahdi: Do not release the echocan under lock.

This allows any echocan cleanup to block if necessary. Especially useful
for hardware echocans that may need to wait for hardware to complete the
cleanup process.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@9939 a0bf4364-ded3-4de4-8d8a-66a801d63aff
This commit is contained in:
Shaun Ruffell
2011-06-02 20:01:29 +00:00
parent c1e491930b
commit 09eb417ec4

View File

@@ -1430,13 +1430,13 @@ static void close_channel(struct dahdi_chan *chan)
if (chan->span && oldconf)
dahdi_disable_dacs(chan);
spin_unlock_irqrestore(&chan->lock, flags);
if (ec_state) {
ec_state->ops->echocan_free(chan, ec_state);
release_echocan(ec_current);
}
spin_unlock_irqrestore(&chan->lock, flags);
/* release conference resource, if any to release */
if (oldconf)
dahdi_check_conf(oldconf);