aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/rsxx/core.c
diff options
context:
space:
mode:
authorChuhong Yuan <hslester96@gmail.com>2019-11-13 14:38:47 +0800
committerJens Axboe <axboe@kernel.dk>2019-11-14 13:59:49 -0700
commitdcb77e4b274b8f13ac6482dfb09160cd2fae9a40 (patch)
tree5798752ad2ede172fcdd1f47889fd494b58552e6 /drivers/block/rsxx/core.c
parentiocost: check active_list of all the ancestors in iocg_activate() (diff)
downloadlinux-dev-dcb77e4b274b8f13ac6482dfb09160cd2fae9a40.tar.xz
linux-dev-dcb77e4b274b8f13ac6482dfb09160cd2fae9a40.zip
rsxx: add missed destroy_workqueue calls in remove
The driver misses calling destroy_workqueue in remove like what is done when probe fails. Add the missed calls to fix it. Signed-off-by: Chuhong Yuan <hslester96@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/rsxx/core.c')
-rw-r--r--drivers/block/rsxx/core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/block/rsxx/core.c b/drivers/block/rsxx/core.c
index 76b73ddf8fd7..10f6368117d8 100644
--- a/drivers/block/rsxx/core.c
+++ b/drivers/block/rsxx/core.c
@@ -1000,8 +1000,10 @@ static void rsxx_pci_remove(struct pci_dev *dev)
cancel_work_sync(&card->event_work);
+ destroy_workqueue(card->event_wq);
rsxx_destroy_dev(card);
rsxx_dma_destroy(card);
+ destroy_workqueue(card->creg_ctrl.creg_wq);
spin_lock_irqsave(&card->irq_lock, flags);
rsxx_disable_ier_and_isr(card, CR_INTR_ALL);