summaryrefslogtreecommitdiff
path: root/wcte12xp
diff options
context:
space:
mode:
authorsruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-12-20 22:09:28 +0000
committersruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-12-20 22:09:28 +0000
commit254f7843898a871eaa28883da5ae05b8a5197e40 (patch)
tree9aecee9f6759b2efec621ea73051dc275f57d093 /wcte12xp
parent47c37e8fb66d3f61956efcc6154828e311f1f40f (diff)
Cleanup in case the firmware load from userspace fails.
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@3550 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'wcte12xp')
-rw-r--r--wcte12xp/vpmadt032.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/wcte12xp/vpmadt032.c b/wcte12xp/vpmadt032.c
index 0b6a8a4..3222f64 100644
--- a/wcte12xp/vpmadt032.c
+++ b/wcte12xp/vpmadt032.c
@@ -881,7 +881,7 @@ void t1_vpm150m_init(struct t1 *wc) {
if ((request_firmware(&firmware, vpmadt032_firmware, &wc->dev->dev) != 0) ||
!firmware) {
printk("VPMADT032: firmware %s not available from userspace\n", vpmadt032_firmware);
- return;
+ goto failed_exit;
}
#else
embedded_firmware.data = _binary_vpmadt032_bin_start;
@@ -954,6 +954,9 @@ void t1_vpm150m_init(struct t1 *wc) {
failed_exit:
spin_lock_irqsave(&wc->reglock, flags);
+ if (vpm150m->wq) {
+ destroy_workqueue(vpm150m->wq);
+ }
wc->vpm150m = NULL;
spin_unlock_irqrestore(&wc->reglock, flags);
kfree(vpm150m);