nvme: ensure subsystem reset is single threaded
authorKeith Busch <kbusch@kernel.org>
Thu, 22 Sep 2022 15:13:47 +0000 (08:13 -0700)
committerChristoph Hellwig <hch@lst.de>
Tue, 27 Sep 2022 07:15:56 +0000 (09:15 +0200)
commit1e866afd4bcdd01a70a5eddb4371158d3035ce03
tree4a5dc2c413d8d9d769ead144092d3aba5703dd77
parent23e085b2dead13b51fe86d27069895b740f749c0
nvme: ensure subsystem reset is single threaded

The subsystem reset writes to a register, so we have to ensure the
device state is capable of handling that otherwise the driver may access
unmapped registers. Use the state machine to ensure the subsystem reset
doesn't try to write registers on a device already undergoing this type
of reset.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=214771
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/nvme.h