diff options
author | Shaun Ruffell <sruffell@digium.com> | 2010-03-22 09:20:44 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2010-03-22 09:20:44 +0000 |
commit | 9b59ddd84b6e6b3b6805924e735bcd5c8e6f1e4a (patch) | |
tree | eba5a3d81eac455dd7544e9bde478e70126a6baf | |
parent | 44de2fe35d90fca285af3c0781cc5e6e34d88550 (diff) |
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
-rw-r--r-- | drivers/dahdi/wctdm24xxp/base.c | 4 |
1 files 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); |