|
@@ -1805,7 +1805,8 @@ static void nvme_dev_disable(struct nvme_dev *dev, bool shutdown)
|
|
if (pci_is_enabled(pdev)) {
|
|
if (pci_is_enabled(pdev)) {
|
|
u32 csts = readl(dev->bar + NVME_REG_CSTS);
|
|
u32 csts = readl(dev->bar + NVME_REG_CSTS);
|
|
|
|
|
|
- if (dev->ctrl.state == NVME_CTRL_LIVE)
|
|
|
|
|
|
+ if (dev->ctrl.state == NVME_CTRL_LIVE ||
|
|
|
|
+ dev->ctrl.state == NVME_CTRL_RESETTING)
|
|
nvme_start_freeze(&dev->ctrl);
|
|
nvme_start_freeze(&dev->ctrl);
|
|
dead = !!((csts & NVME_CSTS_CFS) || !(csts & NVME_CSTS_RDY) ||
|
|
dead = !!((csts & NVME_CSTS_CFS) || !(csts & NVME_CSTS_RDY) ||
|
|
pdev->error_state != pci_channel_io_normal);
|
|
pdev->error_state != pci_channel_io_normal);
|