diff options
Diffstat (limited to 'wcte12xp')
-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); |