From 254f7843898a871eaa28883da5ae05b8a5197e40 Mon Sep 17 00:00:00 2001 From: sruffell Date: Thu, 20 Dec 2007 22:09:28 +0000 Subject: 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 --- wcte12xp/vpmadt032.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); -- cgit v1.2.3