On Fri, Jan 19, 2018 at 05:02:06PM +0800, jianchao.wang wrote: > We should not use blk_sync_queue here, the requeue_work and run_work will be > canceled. > Just flush_work(&q->timeout_work) should be ok.
I agree flushing timeout_work is sufficient. All the other work had already better not be running either, so it doesn't hurt to call the sync API. > In addition, we could check NVME_CC_ENABLE in nvme_dev_disable to avoid > redundant invoking. > :) That should already be inferred through reading back the CSTS register.