NVMe: Initialize device list head before starting
authorKeith Busch <keith.busch@intel.com>
Mon, 23 Mar 2015 15:32:37 +0000 (09:32 -0600)
committerJens Axboe <axboe@fb.com>
Mon, 23 Mar 2015 15:35:12 +0000 (09:35 -0600)
Driver recovery requires the device's list node to have been initialized.

Fixes: https://lkml.org/lkml/2015/3/22/262

Reported-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Keith Busch <keith.busch@intel.com>
Cc: Matthew Wilcox <willy@linux.intel.com>
Cc: Jens Axboe <axboe@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/nvme-core.c

index ceb32dd52a6ca5a777e97541646866985251a9f0..e23be20a341752c1b175cc05612c7e087ee24fa4 100644 (file)
@@ -3003,6 +3003,7 @@ static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        }
        get_device(dev->device);
 
+       INIT_LIST_HEAD(&dev->node);
        INIT_WORK(&dev->probe_work, nvme_async_probe);
        schedule_work(&dev->probe_work);
        return 0;