diff options
author | Shaun Ruffell <sruffell@digium.com> | 2010-03-01 08:14:19 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2010-03-01 08:14:19 +0000 |
commit | a5e437b3af8c56a6c17ea0374795cd759900a5f4 (patch) | |
tree | f6aa9d4d4c474a279a9a17c9a8a035d81972a78c /drivers/dahdi/wcte12xp/base.c | |
parent | c0f0fe4ffb473ea195e5f9e96dc8a50b2a19cfd4 (diff) |
wcte12xp: Cleanup if voicebus_start fails.
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8177 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wcte12xp/base.c')
-rw-r--r-- | drivers/dahdi/wcte12xp/base.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c index 4963af2..09978b1 100644 --- a/drivers/dahdi/wcte12xp/base.c +++ b/drivers/dahdi/wcte12xp/base.c @@ -1863,7 +1863,11 @@ static int __devinit te12xp_init_one(struct pci_dev *pdev, const struct pci_devi } voicebus_lock_latency(&wc->vb); - voicebus_start(&wc->vb); + if (voicebus_start(&wc->vb)) { + voicebus_release(&wc->vb); + free_wc(wc); + return -EIO; + } t1_hardware_post_init(wc); for (x = 0; x < (wc->spantype == TYPE_E1 ? 31 : 24); x++) { |