NVMe: Fix device probe waiting on kthread
If we ever do parallel device probing, we need to wake up all processes waiting for nvme kthread to start, not just one. This is currently serialized so the bug is not reachable today, but fixing this anyway in the hopes we implement parallel or asynchronous probe in the future. Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
@@ -2787,7 +2787,7 @@ static int nvme_dev_start(struct nvme_dev *dev)
|
||||
|
||||
if (start_thread) {
|
||||
nvme_thread = kthread_run(nvme_kthread, NULL, "nvme");
|
||||
wake_up(&nvme_kthread_wait);
|
||||
wake_up_all(&nvme_kthread_wait);
|
||||
} else
|
||||
wait_event_killable(nvme_kthread_wait, nvme_thread);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user