summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorKeith Busch <keith.busch@intel.com>2015-02-19 10:34:48 -0700
committerKeith Busch <keith.busch@intel.com>2015-02-19 16:15:37 -0700
commit07836e659c81ec6b0d683dfbf7958339a22a7b69 (patch)
tree6c043eb7b855825c6cb304f19cb0103bc4303cc2 /include
parent2e1d8448196ba85cd78a18723413a3c92aabe0f3 (diff)
downloadlinux-07836e659c81ec6b0d683dfbf7958339a22a7b69.tar.gz
linux-07836e659c81ec6b0d683dfbf7958339a22a7b69.tar.bz2
linux-07836e659c81ec6b0d683dfbf7958339a22a7b69.zip
NVMe: Fix potential corruption during shutdown
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: Nilish Choudhury <nilesh.choudhury@oracle.com> Signed-off-by: Keith Busch <keith.busch@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nvme.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/nvme.h b/include/linux/nvme.h
index e2429e8cdab4..0adad4a5419b 100644
--- a/include/linux/nvme.h
+++ b/include/linux/nvme.h
@@ -103,7 +103,6 @@ struct nvme_dev {
u16 abort_limit;
u8 event_limit;
u8 vwc;
- u8 initialized;
};
/*