diff options
| author | Nilay Shroff <[email protected]> | 2024-10-16 03:03:14 +0000 |
|---|---|---|
| committer | Keith Busch <[email protected]> | 2024-10-17 18:07:37 +0000 |
| commit | c199fac88fe7c749f88a0653e9f621b9f5a71cf1 (patch) | |
| tree | 6d76834fa383a2194594e0ce63a84291070b7051 /drivers/acpi/cppc_acpi.c | |
| parent | nvme-pci: fix race condition between reset and nvme_dev_disable() (diff) | |
| download | kernel-c199fac88fe7c749f88a0653e9f621b9f5a71cf1.tar.gz kernel-c199fac88fe7c749f88a0653e9f621b9f5a71cf1.zip | |
nvme-loop: flush off pending I/O while shutting down loop controller
While shutting down loop controller, we first quiesce the admin/IO queue,
delete the admin/IO tag-set and then at last destroy the admin/IO queue.
However it's quite possible that during the window between quiescing and
destroying of the admin/IO queue, some admin/IO request might sneak in
and if that happens then we could potentially encounter a hung task
because shutdown operation can't forward progress until any pending I/O
is flushed off.
This commit helps ensure that before destroying the admin/IO queue, we
unquiesce the admin/IO queue so that any outstanding requests, which are
added after the admin/IO queue is quiesced, are now flushed to its
completion.
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Nilay Shroff <[email protected]>
Signed-off-by: Keith Busch <[email protected]>
Diffstat (limited to 'drivers/acpi/cppc_acpi.c')
0 files changed, 0 insertions, 0 deletions
