diff --git a/channel.c b/channel.c index dd80cc85e19df659fd5b0a475a209706a8d11814..3fe2a02d77882a195b81e1756dd09bd56d09e8a1 100755 --- a/channel.c +++ b/channel.c @@ -1153,6 +1153,7 @@ int ast_indicate(struct ast_channel *chan, int condition) ast_mutex_lock(&chan->lock); if (chan->pvt->indicate) res = chan->pvt->indicate(chan, condition); + ast_mutex_unlock(&chan->lock); if (!chan->pvt->indicate || res) { /* * Device does not support (that) indication, lets fake @@ -1185,7 +1186,6 @@ int ast_indicate(struct ast_channel *chan, int condition) } else ast_playtones_stop(chan); } - ast_mutex_unlock(&chan->lock); return res; }