kernel-fxtec-pro1x/drivers/nvme/host
Keith Busch 305c262fb8 nvme-pci: fix hot removal during error handling
[ Upstream commit cb4bfda62afa25b4eee3d635d33fccdd9485dd7c ]

A removal waits for the reset_work to complete. If a surprise removal
occurs around the same time as an error triggered controller reset, and
reset work happened to dispatch a command to the removed controller, the
command won't be recovered since the timeout work doesn't do anything
during error recovery. We wouldn't want to wait for timeout handling
anyway, so this patch fixes this by disabling the controller and killing
admin queues prior to syncing with the reset_work.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-01 09:16:30 +01:00
..
core.c nvme-pci: Fix a race in controller removal 2019-10-29 09:19:29 +01:00
fabrics.c nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O 2018-11-13 11:08:24 -08:00
fabrics.h nvme: if_ready checks to fail io to deleting controller 2018-07-24 13:44:40 +02:00
fault_inject.c
fc.c nvme-fc: use separate work queue to avoid warning 2019-09-16 08:21:44 +02:00
Kconfig IB: Revert "remove redundant INFINIBAND kconfig dependencies" 2018-05-28 10:40:16 -06:00
lightnvm.c lightnvm: do no update csecs and sos on 1.2 2019-11-24 08:20:51 +01:00
Makefile
multipath.c nvme-multipath: fix possible io hang after ctrl reconnect 2019-11-12 19:21:11 +01:00
nvme.h nvme: fix a possible deadlock when passthru commands sent to a multipath device 2019-09-06 10:21:55 +02:00
pci.c nvme-pci: fix hot removal during error handling 2019-12-01 09:16:30 +01:00
rdma.c nvme-rdma: fix a NULL deref when an admin connect times out 2019-05-31 06:46:15 -07:00
trace.c nvme: add disk name to trace events 2018-07-24 15:55:48 +02:00
trace.h nvme: add disk name to trace events 2018-07-24 15:55:48 +02:00