From 9b59ddd84b6e6b3b6805924e735bcd5c8e6f1e4a Mon Sep 17 00:00:00 2001 From: Shaun Ruffell Date: Mon, 22 Mar 2010 09:20:44 +0000 Subject: wctdm24xxp: Make sure we're really stopped before deleting the channels. git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8376 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/wctdm24xxp/base.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c index 02e85f0..e91f660 100644 --- a/drivers/dahdi/wctdm24xxp/base.c +++ b/drivers/dahdi/wctdm24xxp/base.c @@ -4152,6 +4152,8 @@ static void wctdm_back_out_gracefully(struct wctdm *wc) struct sframe_packet *frame; LIST_HEAD(local_list); + voicebus_release(&wc->vb); + for (i = 0; i < ARRAY_SIZE(wc->spans); ++i) { if (wc->spans[i] && wc->spans[i]->span.chans) kfree(wc->spans[i]->span.chans); @@ -4165,8 +4167,6 @@ static void wctdm_back_out_gracefully(struct wctdm *wc) wc->chans[i] = NULL; } - voicebus_release(&wc->vb); - spin_lock_irqsave(&wc->frame_list_lock, flags); list_splice(&wc->frame_list, &local_list); spin_unlock_irqrestore(&wc->frame_list_lock, flags); -- cgit v1.2.3