diff options
author | sruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-12-20 22:09:28 +0000 |
---|---|---|
committer | sruffell <sruffell@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-12-20 22:09:28 +0000 |
commit | 254f7843898a871eaa28883da5ae05b8a5197e40 (patch) | |
tree | 9aecee9f6759b2efec621ea73051dc275f57d093 | |
parent | 47c37e8fb66d3f61956efcc6154828e311f1f40f (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
-rw-r--r-- | wcte12xp/vpmadt032.c | 5 |
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); |