summaryrefslogtreecommitdiffstats
path: root/include/linux/nvme.h
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/linux/nvme.h
parent2e1d8448196ba85cd78a18723413a3c92aabe0f3 (diff)
downloadlinux-0-day-07836e659c81ec6b0d683dfbf7958339a22a7b69.tar.gz
linux-0-day-07836e659c81ec6b0d683dfbf7958339a22a7b69.tar.xz
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/linux/nvme.h')
-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 e2429e8cdab4f..0adad4a5419b7 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;
};
/*