summaryrefslogtreecommitdiff
path: root/wcte12xp
diff options
context:
space:
mode:
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);