• Keith Busch's avatar
    NVMe: Device resume error handling · 9a6b9458
    Keith Busch authored
    Adds controller error handling on resume power management. If the device
    fails to initialize, the device is queued for a reset. If the reset fails,
    a thread is spawned to remove the pci device.
    
    If the device resumes as "busy", the device is responding to admin
    commands but will not create IO queues. In this case, we need to remove
    the gendisks and free the IO queues since they can't be used and may be
    holding bios in their lists.
    
    From testing, the dma pools require a pci device so this had to change
    the pci driver 'remove' to release the dma resources in line with that
    call instead of after all references to the device are released.
    Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
    Signed-off-by: default avatarMatthew Wilcox <matthew.r.wilcox@intel.com>
    9a6b9458
nvme-core.c 58.5 KB