• Christoph Hellwig's avatar
    nvme: merge probe_work and reset_work · fd634f41
    Christoph Hellwig authored
    If we're using two work queues we're always going to run into races where
    one item is tearing down what the other one is initializing.  So insted
    merge the two work queues, and let the old probe_work also tear the
    controller down first if it was alive.  Together with the better detection
    of the probe path using a flag this gives us a properly serialized
    reset/probe path that also doesn't accidentally trigger when two commands
    time out and the second one tries to reset the controller while the first
    reset is still in progress.
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Acked-by: default avatarKeith Busch <keith.busch@intel.com>
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    fd634f41
pci.c 61.3 KB