linux_dsm_epyc7002/drivers/nvme/host
James Smart f1cd8c4093 nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context
[ Upstream commit 19fce0470f05031e6af36e49ce222d0f0050d432 ]

Recent patches changed calling sequences. nvme_fc_abort_outstanding_ios
used to be called from a timeout or work context. Now it is being called
in an io completion context, which can be an interrupt handler.
Unfortunately, the abort outstanding ios routine attempts to stop nvme
queues and nested routines that may try to sleep, which is in conflict
with the interrupt handler.

Correct replacing the direct call with a work element scheduling, and the
abort outstanding ios routine will be called in the work element.

Fixes: 95ced8a2c7 ("nvme-fc: eliminate terminate_io use by nvme_fc_error_recovery")
Signed-off-by: James Smart <james.smart@broadcom.com>
Reported-by: Daniel Wagner <dwagner@suse.de>
Tested-by: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-01-19 18:27:28 +01:00
..
core.c nvme: fix memory leak freeing command effects 2020-11-14 09:57:55 +01:00
fabrics.c nvme-fabrics: allow to queue requests for live queues 2020-09-09 08:00:50 +02:00
fabrics.h nvme: fix deadlock in disconnect during scan_work and/or ana_work 2020-07-29 07:45:19 +02:00
fault_inject.c nvme: enable to inject errors into admin commands 2019-06-21 11:15:50 +02:00
fc.c nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context 2021-01-19 18:27:28 +01:00
fc.h nvme-fc: Update header and host for common definitions for LS handling 2020-05-09 16:18:33 -06:00
hwmon.c nvme: return errors for hwmon init 2020-09-22 17:49:55 +02:00
Kconfig nvme-tcp: fix kconfig dependency warning when !CRYPTO 2020-09-15 07:58:49 +02:00
lightnvm.c nvme: support for multiple Command Sets Supported and Effects log pages 2020-07-08 16:16:20 +02:00
Makefile nvme: support for zoned namespaces 2020-07-08 16:16:20 +02:00
multipath.c bdi: replace BDI_CAP_STABLE_WRITES with a queue and a sb flag 2020-09-24 13:43:39 -06:00
nvme.h nvme: directly cache command effects log 2020-11-14 09:57:55 +01:00
pci.c nvme: avoid possible double fetch in handling CQE 2021-01-19 18:27:26 +01:00
rdma.c nvme fixes for 5.10: 2020-11-05 07:10:50 -07:00
tcp.c nvme-tcp: Fix possible race of io_work and direct send 2021-01-17 14:17:03 +01:00
trace.c nvme: trace: parse Get LBA Status command in detail 2019-08-29 12:55:01 -07:00
trace.h nvme-trace: print result and status in hex format 2019-06-21 11:12:37 +02:00
zns.c nvme: remove the disk argument to nvme_update_zone_info 2020-10-07 07:56:17 +02:00