From: James Smart <jsmart2021@gmail.com>
Date: Thu, 28 Sep 2017 09:56:31 -0700
Subject: nvme-fc: avoid workqueue flush stalls
Patch-mainline: v4.15-rc1
Git-commit: 71c691fd06cc2625966620c93ce21bdcce32ed95
References: FATE#323952, FATE#322506
There's no need to wait for the full nvme_wq, which is now shared,
to flush. flush only the delete_work item.
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Sagi Grimberg <sgi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Johannes Thumshirn <jthumshirn@suse.de>
---
drivers/nvme/host/fc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/nvme/host/fc.c
+++ b/drivers/nvme/host/fc.c
@@ -2693,7 +2693,7 @@ nvme_fc_del_nvme_ctrl(struct nvme_ctrl *
nvme_get_ctrl(&ctrl->ctrl);
ret = __nvme_fc_del_ctrl(ctrl);
if (!ret)
- flush_workqueue(nvme_wq);
+ flush_work(&ctrl->delete_work);
nvme_put_ctrl(&ctrl->ctrl);
return ret;