Commit fba47eae authored by James Smart's avatar James Smart Committed by Zheng Zengkai
Browse files

nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context



stable inclusion
from stable-5.10.9
commit f1cd8c40936ff2b560e1f35159dd6a4602b558e5
bugzilla: 47457

--------------------------------

[ Upstream commit 19fce047 ]

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: 95ced8a2 ("nvme-fc: eliminate terminate_io use by nvme_fc_error_recovery")
Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
Reported-by: default avatarDaniel Wagner <dwagner@suse.de>
Tested-by: default avatarDaniel Wagner <dwagner@suse.de>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarChen Jun <chenjun102@huawei.com>
Acked-by: default avatarXie XiuQi <xiexiuqi@huawei.com>
parent e8fbe027
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment