From 201cf1ecdfe5ea2774cbb21d4214c98ec8b418de Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Fri, 2 Oct 2015 18:48:36 +0200 Subject: [PATCH] nvme: delete dev from dev_list in nvme_reset Device resets need to delete the device from the device list before kicking of the reset an re-probe, otherwise we get the device added to the list twice. nvme_reset is the only side missing this deletion at the moment, and this patch adds it. Signed-off-by: Christoph Hellwig Reviewed-by: Keith Busch Signed-off-by: Jens Axboe --- drivers/block/nvme-core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c index bf35846558c8..be35b1d18854 100644 --- a/drivers/block/nvme-core.c +++ b/drivers/block/nvme-core.c @@ -3089,6 +3089,7 @@ static int nvme_reset(struct nvme_dev *dev) spin_lock(&dev_list_lock); if (!work_pending(&dev->reset_work)) { + list_del_init(&dev->node); queue_work(nvme_workq, &dev->reset_work); ret = 0; }