OpenCloudOS-Kernel/drivers/nvme/host
James Smart 19fce0470f nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context
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>
2021-01-06 10:30:36 +01:00
..
Kconfig nvme-tcp: fix kconfig dependency warning when !CRYPTO 2020-09-15 07:58:49 +02:00
Makefile nvme: support for zoned namespaces 2020-07-08 16:16:20 +02:00
core.c for-5.11/drivers-2020-12-14 2020-12-16 13:09:32 -08:00
fabrics.c nvme-fabrics: reject I/O to offline device 2020-12-01 20:36:37 +01:00
fabrics.h nvme-fabrics: reject I/O to offline device 2020-12-01 20:36:37 +01: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-06 10:30:36 +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
lightnvm.c nvme: split nvme_alloc_request() 2020-12-01 20:36:35 +01:00
multipath.c for-5.11/drivers-2020-12-14 2020-12-16 13:09:32 -08:00
nvme.h for-5.11/drivers-2020-12-14 2020-12-16 13:09:32 -08:00
pci.c for-5.11/drivers-2020-12-14 2020-12-16 13:09:32 -08:00
rdma.c RDMA 5.11 pull request 2020-12-16 13:42:26 -08:00
tcp.c nvme: use consistent macro name for timeout 2020-12-01 20:36:35 +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: export zoned namespaces without Zone Append support read-only 2020-12-01 20:36:38 +01:00