Skip to content

Commit 2e6f11a

Browse files
Qinglang Miaomartinkpetersen
authored andcommitted
scsi: ufshcd: Fix missing destroy_workqueue()
Add the missing destroy_workqueue() before return from ufshcd_init in the error handling case as well as in ufshcd_remove. Link: https://lore.kernel.org/r/20201110074223.41280-1-miaoqinglang@huawei.com Fixes: 4db7a23 ("scsi: ufs: Fix concurrency of error handler and other error recovery paths") Suggested-by: Avri Altman <Avri.Altman@wdc.com> Reviewed-by: Asutosh Das <asutoshd@codeaurora.org> Reviewed-by: Avri Altman <avri.altman@wdc.com> Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 0f52fcb commit 2e6f11a

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

drivers/scsi/ufs/ufshcd.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8928,6 +8928,7 @@ void ufshcd_remove(struct ufs_hba *hba)
89288928
blk_mq_free_tag_set(&hba->tmf_tag_set);
89298929
blk_cleanup_queue(hba->cmd_queue);
89308930
scsi_remove_host(hba->host);
8931+
destroy_workqueue(hba->eh_wq);
89318932
/* disable interrupts */
89328933
ufshcd_disable_intr(hba, hba->intr_mask);
89338934
ufshcd_hba_stop(hba);
@@ -9228,6 +9229,7 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
92289229
exit_gating:
92299230
ufshcd_exit_clk_scaling(hba);
92309231
ufshcd_exit_clk_gating(hba);
9232+
destroy_workqueue(hba->eh_wq);
92319233
out_disable:
92329234
hba->is_irq_enabled = false;
92339235
ufshcd_hba_exit(hba);

0 commit comments

Comments
 (0)