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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user