nvme-pci: unquiesce admin queue on shutdown
Just like IO queues, the admin queue also will not be restarted after a controller shutdown. Unquiesce this queue so that we do not block request dispatch on a permanently disabled controller. Reported-by: Yufen Yu <yuyufen@huawei.com> Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Родитель
9dc1a38ef1
Коммит
c8e9e9b764
|
@ -2437,8 +2437,11 @@ static void nvme_dev_disable(struct nvme_dev *dev, bool shutdown)
|
||||||
* must flush all entered requests to their failed completion to avoid
|
* must flush all entered requests to their failed completion to avoid
|
||||||
* deadlocking blk-mq hot-cpu notifier.
|
* deadlocking blk-mq hot-cpu notifier.
|
||||||
*/
|
*/
|
||||||
if (shutdown)
|
if (shutdown) {
|
||||||
nvme_start_queues(&dev->ctrl);
|
nvme_start_queues(&dev->ctrl);
|
||||||
|
if (dev->ctrl.admin_q && !blk_queue_dying(dev->ctrl.admin_q))
|
||||||
|
blk_mq_unquiesce_queue(dev->ctrl.admin_q);
|
||||||
|
}
|
||||||
mutex_unlock(&dev->shutdown_lock);
|
mutex_unlock(&dev->shutdown_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче