Skip to content
  • Keith Busch's avatar
    NVMe: Fix potential corruption during shutdown · 07836e65
    Keith Busch authored
    
    
    The driver has to end unreturned commands at some point even if the
    controller has not provided a completion. The driver tried to be safe by
    deleting IO queues prior to ending all unreturned commands. That should
    cause the controller to internally abort inflight commands, but IO queue
    deletion request does not have to be successful, so all bets are off. We
    still have to make progress, so to be extra safe, this patch doesn't
    clear a queue to release the dma mapping for a command until after the
    pci device has been disabled.
    
    This patch removes the special handling during device initialization
    so controller recovery can be done all the time. This is possible since
    initialization is not inlined with pci probe anymore.
    
    Reported-by: default avatarNilish Choudhury <nilesh.choudhury@oracle.com>
    Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
    07836e65