diff options
Diffstat (limited to 'drivers/dahdi/wctdm24xxp/base.c')
-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); |